String.split() --- 如何将连续的分隔符视为一个?

15

对于变量temp中的两个样本字符串,例如:

(1) "|RYVG|111|9|"
(2) "|RYVG|111||9|"

我想要做以下事情:

String splitRating[] = temp.split("\\|",);

但是我希望结果保持不变,也就是:

splitrating[0] = ""
splitrating[1] = "RYVG"
splitrating[2] = "111"
splitrating[3] = "9
这意味着我需要将双 "|" 视为一个分隔符。在仍然使用 String.split() 的情况下,是否有任何方法可以做到这一点?
这意味着我需要将双 "|" 视为一个分隔符。在仍然使用 String.split() 的情况下,是否有任何方法可以做到这一点?
4个回答

21

在正则表达式中加入+符号,用于匹配一个或多个管道的实例:

temp.split("\\|+");

1
尝试这个:-
String splitRating[] = temp.split("\\|+");

0

是的,这是可能的。

 class  Split
{
public static void main(String[] args) 
{
    String temp="|RYVG|111||9|";

    String splitRating[] = temp.split("\\|+");

    for(String split:splitRating){
    System.out.println(split);
}
}
    }

0

StringUtils 的 split 方法将连续的分隔符视为一个分隔符。

org.apache.commons.lang.StringUtils.split("|"); 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接