在检测String
中的第一个换行符时,是否有任何效率方法将字符串分成两个例如,字符串如下: "第1行\ n 第2行\ n 第3行\ n"
所以我想做的只是分开"第1行"从字符串,其余作为另一个字符串,所以最终结果如下: string 1 =" line 1" 字符串2 ="第2行\ n第3行\ n"
Java实现
答案 0 :(得分:9)
您可以使用String类的split(regex,limit)
方法。尝试
String[] result = yourString.split("\n", 2);
如果要使用OS相关行分隔符
String[] result = yourString.split(System.lineSeparator(), 2);
或OS独立方式
//since Java 8
String[] result = yourString.split("\\R", 2);
//before Java 8
String[] result = yourString.split("\r\n|\r|\n", 2);
现在
result[0] = "line 1";
result[1] = "line 2\n line 3\n";
答案 1 :(得分:5)
尝试使用String.substring()
String str23 = "line 1 \n line 2 \n line3 \n";
String line1 = str23.substring(0, str23.indexOf("\n"));
String line2 = str23.substring(str23.indexOf("\n")+1, str23.length());
System.out.println(line1+"-----"+line2);
答案 2 :(得分:3)
String str = "line 1\n line 2\n line 3\n";
int newLineIndex = str.indexOf("\n");
String first = str.substring(0, newLineIndex);
String rest = str.substring(newLineIndex + 1);