有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在正则表达式处拆分文本文件并创建数组

我需要一些关于用java拆分文本文件的帮助。我有一个大约2000字的文本文件,文本文件的格式如下-

"A", "HELLO", "RANDOM", "WORD"... etc

我的目标是将这些单词放入字符串数组。使用scanner类,我获取文本并创建一个字符串,然后尝试拆分并添加到数组中,如下所示

Scanner input = new Scanner(file);

while(input.hasNext()){

   String temp = input.next();

   String[] wordArray = temp.split(",");
}

在添加到数组后,当我想要使用或打印每个元素时,它们会被存储在“”周围。而不是印刷

A
HELLO
RANDOM

…等等,他们正在印刷

"A"
"HELLO"
"RANDOM"

所以我的问题是,我怎样才能去掉这些正则表达式,并在每个单词处拆分文本,这样就没有正则表达式了

非常感谢


共 (3) 个答案

  1. # 1 楼答案

    使用此选项将所有出现的“替换为空字符串”

    wordArray[i].replaceAll("/"", "");
    

    在循环中执行此操作

  2. # 2 楼答案

    试试这个

            List<String> allMatches = new ArrayList<>();
            Scanner input = new Scanner(new File(FILE_PATH), StandardCharsets.UTF_8);
            while(input.hasNext()){
                String temp = input.next();
                Matcher m = Pattern.compile("\"(.*)\"").matcher(temp);
                while (m.find()) {
                    allMatches.add(m.group(1));
                }
            }
            allMatches.forEach(System.out::println);
    
  3. # 3 楼答案

    就在你的例子中,当你有所有像这样的"A", "HELLO", "RANDOM", "WORD"... etc的值,其中每个值都有分隔符", ",你可以使用这个 temp.split("\", \"");,你不需要使用循环