首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Java类,如何获得在特定字符串之后的最新数字?

使用Java类,如何获得在特定字符串之后的最新数字?
EN

Stack Overflow用户
提问于 2015-07-27 00:27:11
回答 2查看 72关注 0票数 0

我有符合以下格式的文本文件:

18:27:08.231主调试sample_client -这是一条调试消息,第39行定位7 18:27:09.231主要调试sample_client这是一个调试消息,第39行位置17 :27:10.231主要调试sample_client这是一个调试消息,第56行

我想得到最近的整数,它在字符串"Location“之后--这里是23。

到目前为止,我的扫瞄课如下:

代码语言:javascript
复制
 import org.apache.logging.log4j.flume; */
// import org.slf4j.Logger;
// import org.slf4j.LoggerFactory;


import java.sql.Timestamp;
import java.util.Date;
import java.util.*;
import java.io.*;
import java.net.*;

public class ScannerTest {  /* BEGINBRAC */



    public static void main(String[] args) throws IOException { 
        int mostRecentLocation = 0;
        Scanner scanner = new Scanner ("LogbackTutorialError.txt");         

        while (scanner.hasNextLine() ) {

            final String lineFromFile = scanner.nextLine();

            if(lineFromFile.contains("Location")){

                System.out.print("the location is " + mostRecentLocation );
            }

        }


    }

}// end class ScannerTest

我怎样才能得到最近的数字呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-27 00:33:15

您可以使用String.substring(int)来删除Location上的所有内容。就像,

代码语言:javascript
复制
if (lineFromFile.startsWith("Location")) {
    int mostRecentLocation = Integer.parseInt(lineFromFile
            .substring(1 + "Location".length()).trim());
    System.out.println("the location is " + mostRecentLocation);
}
票数 0
EN

Stack Overflow用户

发布于 2015-07-27 00:27:51

下面的代码演示如何创建它。

代码语言:javascript
复制
import java.sql.Timestamp;
import java.util.Date;
import java.util.*;
import java.io.*;
import java.net.*;

public class ScannerTest {  

    public static void main(String[] args) throws FileNotFoundException { 
        int mostRecentLocation = 0;
        File newFile = new File("LogbackTutorialError.log");
        Scanner scanner = new Scanner (newFile);         
        int result = 0;
        while (scanner.hasNextLine() ) {
            String lineFromFile = scanner.nextLine();       
            Scanner lineScanner = new Scanner(lineFromFile);
            if(lineScanner.findInLine("Location") != null){
              result = lineScanner.nextInt() ;
              mostRecentLocation = result;           
            }

        }
        System.out.println(" The location is  : " + result );


    }

}// end class ScannerTest
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31643397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档