我有一个以下格式的文本文件:
0 (1, 10), (0, 5), (3, 40)
1 (2, 15), (1, 23), (2, 18), (4, 5), (3, 50)
2 (3, 100)
每行中的第一个数字用于特定目的。类似地,括号中的每个整数用于另一个特定目的。因此,我试图分别提取这些整数中的每一个。这就是我的尝试:
BufferedReader br = new BufferedReader(new FileReader("test.txt"));
String line = br.readLine();
while (line != null) {
String[] separate = line.split(", ");
for (int i = 0; i < patterns.length; i++) {
String result = separate[i].replace("(", "").replace(")", "");
}
}
虽然这确实提取了每个整数,但括号中的整数与行中的第一个整数没有区别。此外,此解决方案不会分隔文件中的每一行 有人可以帮助我找到更好的解决方案吗?
答案 0 :(得分:0)
看起来在你的情况下,整数是否在括号中并不重要。如果是这样,你可以这样做。
String [] separate = line.replaceAll("[()\\s]+", "").split(",");
上面的替换将替换[]中列出的任何符号的多个外观。在它之后你将有一个干净的逗号分隔字符串没有parens或空格。
单独的[0] 将指向该行中的第一个元素。