只拆分一次字符串两次

时间:2015-09-02 09:19:24

标签: java regex string split

我有一个像abc~def~ghij~klm~nop~qrstu~vwx~hj这样的字符串。我想将它拆分两次(结果为三个部分):这意味着无论我在哪里获得~符号,我都需要将abcdef和第三个仅作为单个字符串拆分ghij~klm~nop~qrstu~vwx~hj

我知道如何在~符号到来的地方分割成字符串

String[] parts = stat.split("~");
String part1 = parts[0];
String part2 = parts[1];
String part3 = parts[2];

在这里,我只将part3作为ghij,我需要使用~符号保留整个字符串。

3 个答案:

答案 0 :(得分:15)

这只将stat字符串拆分两次,即它将它分成3部分:

String[] parts = stat.split("~", 3);

String.split(String regex, int limit)方法允许控制结果部分的数量。

引用Javadoc:

  

limit参数控制模式的应用次数,因此会影响结果数组的长度。如果限制n大于零,则模式最多应用n - 1次,数组的长度不大于n,并且数组的最后一个条目将包含超出最后匹配的分隔符。

答案 1 :(得分:4)

您可以使用String.split(String regex, int limit)

String[] parts = stat.split("~", 3);

答案 2 :(得分:2)

使用限制来分割()。

String s="abc~def~ghij~klm~nop~qrstu~vwx~hj";
String[] parts = s.split("~",3);
System.out.println(parts[0]);
System.out.println(parts[1]);
System.out.println(parts[2]);