更有效地阅读字符串

时间:2010-04-12 15:28:24

标签: java

我的方法中输入的字符串非常大,但我实际需要的只是该字符串的第一行。是否可以仅提取现有字符串的第一行?

3 个答案:

答案 0 :(得分:6)

您可以使用indexOf()查找第一个换行符,使用substring()将子串从0换行到该换行符

编辑:示例(假设换行符为\ n):

String str = "Line 1\nLine 2\nLine 3";
String firstLine = str.substring(0, str.indexOf("\n"));
//firstLine == "Line 1"

答案 1 :(得分:3)

最简洁易读的选项是使用java.util.Scanner

String reallyLongString = //...
String firstLine = new Scanner(reallyLongString).nextLine();

Scanner是旧版StringTokenizer的更高级替代方案;它可以从任何int解析doublebooleanBigDecimalReadable,正则表达式模式等,构造函数重载也需要{{1 }},FileInputStream

另见

答案 2 :(得分:0)

public string FirstLine(string inputstring)
        {
            //split the given string using newline character     
            string[] strarray = inputstring.Split('\n');

//return the first element in the array as that is the first line
            return strarray[0];
        }