我的方法中输入的字符串非常大,但我实际需要的只是该字符串的第一行。是否可以仅提取现有字符串的第一行?
答案 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
解析double
,boolean
,BigDecimal
,Readable
,正则表达式模式等,构造函数重载也需要{{1 }},File
,InputStream
等
答案 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];
}