java根据第一行中断单独的字符串

时间:2014-05-20 09:51:31

标签: java string split

在检测String

中的第一个换行符时,是否有任何效率方法将字符串分成两个

例如,字符串如下: "第1行\ n 第2行\ n 第3行\ n"

所以我想做的只是分开"第1行"从字符串,其余作为另一个字符串,所以最终结果如下: string 1 =" line 1" 字符串2 ="第2行\ n第3行\ n"

Java实现

3 个答案:

答案 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);