0

我正在尝试从文本文件中读取并插入文本文件是:

champ[34] = "ABC"; w1[34] = "Nick"; w2[34] = "SAM"; w3[34] = "Ronald";  
w4[34] = "Richeal"; w5[34] = "George"; w6[34] = "Sarah"; w7[34] = "Karin";  
w8[34] = "Chris"; w9[34] = "Christina";

我有 10 个文本字段。我想阅读文本文件,当阅读器检查是否有 (") 时,我将开始将 ABC 放入第一个 textField,然后第二个 textField 将尼克...

而且在文本文件中,它只有一行,但是当你阅读它时,它会出现 3 行,我在保存到文本文件时用“\n”设置它。

有没有办法做到这一点?

4

1 回答 1

0

将所有文件内容读入一个字符串变量。然后使用正则表达式获取匹配的子字符串。模式应该是这样的:在=(可以有零到多个空格)”和“(可以有零到多个空格)之间获取最短的文本;

阅读http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html了解更多详情。

例如:

 String str = "champ[34] = \"ABC\"; w1[34] = \"Nick\"; w2[34] = \"SAM\"; w3[34] = \"Ronald\"; w4[34] = \"Richeal\"; "
            + "w5[34] = \"George\"; w6[34] = \"Sarah\"; w7[34] = \"Karin\"; w8[34] = \"Chris\"; w9[34] = \"Christina\";";


    Pattern pattern = Pattern.compile("=\\s*\".*?\"\\s*;");
    Matcher matcher = pattern.matcher(str);

    while (matcher.find()) {
        System.out.print("Start index: " + matcher.start());
        System.out.print(" End index: " + matcher.end() + " ");
        System.out.println("group:" + matcher.group());
    }
于 2013-01-29T14:23:08.593 回答