查找.text文件的第一个数字 - Java

时间:2014-04-28 14:02:50

标签: java text bufferedreader filereader

我有不同的.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("");

4 个答案:

答案 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更改为您的文件。