我正在尝试从文本文件中读取文本文件:
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个Textfields。我想读取文本文件,当读者检查是否有(“)时,我将开始将ABC放到第一个textField,然后第二个textField将放入Nick ...
并且在文本文件中,它只有一行,但是当你读它时,它会出现3行,当我保存到文本文件时,我用“\ n”设置它。
有没有这样做?
答案 0 :(得分:0)
将所有文件内容读取到一个字符串变量。 然后使用正则表达式来获取匹配的子字符串。 模式应该是这样的:得到=(可以有零到多个空格)“和”(可以有零到多个空格)之间的最短文本;
阅读http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html了解详情。
e.g:
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());
}