我有不同的.txt
文件,应该由Java读取。那么java应该给我第一行的第一个数字,或者如果换句话说,第四个数字的第一个数字。
例如:
"AAAAAA B Version 5.0.1"
或"AAAAAA B Version 6.0.2"
5或6应该是结果数字。
我尝试过一些方法,比如使用line.charAt的bufferedReader,但我不知道如何让它能解决我的问题。你们会建议什么?
BufferedReader br = null;
br = new BufferedReader(new FileReader(new File("C:\\Users\\Desktop\\new2.txt")));
String line = null;
while((line = br.readLine()) != null) {
String[] parts = line.startsWith(...?.);
System.out.println("");
答案 0 :(得分:1)
Pattern p = Pattern.compile("-?\\d+");
Matcher m = p.matcher(Your string here);
if(m.find()) {
System.out.println(m.group());
}
它试图找到一个负整数或正整数,如果能找到任何整数就打印出来。
答案 1 :(得分:1)
如果您知道每行中的第四个单词应该是版本号,只需抓住该单词并获取第一个字符即可。如果它不一定是第四个单词尝试在行上使用indexOf()然后在那之前得到字符,那就是你确定每行都是这样设置的。
我的意思是说如果已知每一行都具有您在上面显示的格式,您应该能够在小数上使用IndexOf()。
AAAAAA B版本5(。)0.1
或者使用split()分割空格并获取每个单词
parts = line.split(" ");
答案 2 :(得分:1)
首先阅读文件的第一行。
File f=new File("your_file.txt");
FileReader fr=new FileReader(f);
BufferedReader br=new BufferedReader(fr);
String firstLine=br.readLine();
然后用空格分割线以获得字符串数组
String[] words=firstLine.split("\\s+");
使用“。”分割第四个单词
String[] nos=words[3].split("\\.");
System.out.println(nos[0]);//Expected output, First number of fourth
//word in first line of given file
答案 3 :(得分:0)
首先,请确保发布完整代码。当您实际获得信息时,诊断问题要容易得多。 其次,您想要的是一个声明读取此.txt文件的扫描程序。
常规扫描仪如下:
扫描仪sc =新扫描仪(System.in);
这将读取您自己文件的系统输入。但是,如果将文件声明为变量,则可以将system.in更改为您的文件。