我想在给定的txt文件中搜索数字并返回找到它的行。此号码可以有不同的格式。它可以用,或写。或者完全不同的东西。我知道输入数字总是这样:100.50; 3424.00; 0.12 ......
我的当前代码仅在没有其他字符的行中检测到这些数字。 代码将数字分为两部分(100.50 - > front:100和back:50)。然后我添加了通配符"。"并使用方法匹配(前+"。" +后退)
如果数字不在数字范围内,我怎么能找到这个数字?
感谢您的帮助!
private static int searchTotal(String pictureID, String value) throws IOException {
int counter = 0;
String front = value.substring(0, value.length() - 3); //dividing the value into 100,50 -> 100 and 50
String back = value.substring(value.length() - 2);
BufferedReader br = new BufferedReader(
new FileReader(pathTXTFiles + "/" + pictureID +".txt")); //input txt
String s;
while ((s = br.readLine()) != null) {
counter++;
if (s.matches(front + "." + back)) { //searching with the wildcard
return counter; //counter gives me the line of the searched number
}
}
return 0;
}
答案 0 :(得分:0)
您必须在之前和之后允许其他字符:
s.matches(".*"+front + "[.,]" + back+".*");
否则matches
仅在该行仅由一个十进制数组成时才返回true。