从一行读取特定字符串

时间:2015-12-16 14:43:48

标签: java

我使用它来使用Java Class从文本文件中获取每一行。

String line = null;
try{    
       BufferedReader Br=new BufferedReader(new FileReader("/data/local/fileconfig.txt"));   

       while ((line = Br.readLine()) != null)
        {
           Log.d("hi", "LINE : " + line);              
        }
     } catch (Throwable throwable) { }

fileconfig.txt有两行,如下所示 -

############################################
packagename:com.hello

所以我的日志就像 -

LINE :  ############################################
LINE :  packagename:com.hello

我的问题是现在我能够获得这个行信息包名:com.hello。我只是想从这一行中提取com.hello。我在while循环中可以使用的逻辑是什么?

3 个答案:

答案 0 :(得分:3)

您可以使用startsWith()方法。

或者,更强大,但也更难,使用带有匹配组的正则表达式。

见这里:Using Java to find substring of a bigger string using Regular Expression

答案 1 :(得分:2)

如果line的格式始终相同,那么应该这样做:

Log.d("hi", "LINE : " + line.substring(line.lastIndexOf(":")+1));

答案 2 :(得分:1)

您可以使用RegEx或来自split()

的简单String
:?(.*)

或拆分

String myString = "dsd:Example";
myString.split(":");