我想读取包含如下字符串的文件中的整数值:
1 (23 4 5)
这是我的 Java 代码
import java.io.File;
import java.io.FileNotFoundException;
import java.util.InputMismatchException;
import java.util.Scanner;
public class EssaiLecture {
public static void main (String[] args){
try {
File file = new File("try.txt");
Scanner sc = new Scanner(file).useDelimiter("");
while(sc.hasNext()){
try{
System.out.println(sc.nextInt());
}
catch (InputMismatchException in) {
sc.next();
}
}
sc.close();
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
输出为
1
2
3
4
5
问题是:我无法读取由 2 个(或更多)字符组成的整数值。
如何解决?
最佳答案
正如从输出中看到的,使用空的String
作为分隔符会导致输入被分割成单个字符 - 您可以使用非数字模式表达式
Scanner sc = new Scanner(file).useDelimiter("\\D+");
哪里
\\D
- 匹配非数字+
- 贪婪量词,匹配所有可用的非数字字符
关于java - 读取包含括号的文件中的整数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19427626/