这是我要拆分的示例字符串。我正在使用string.split("\\|")
. 但是由于字符串本身具有双派克字符,因此我得到了 "" 。
我想检查是否用 pike|
或 double pike拆分字符串||
。
aaa|bbb|ccc|ddd||eee|iii||
您可以使用
string.split("\\|\\|?")
这?
使得第二个管道是可选的。
您可能还想使用:
string.split("\\|+")
如果您连续有两个以上,则为“一个或多个|
”。
您可以指定一个出现范围:
"aaa|bbb|ccc|ddd||eee|iii||".split("\\|{1,2}")
您可以改用此正则表达式:-
String regex = "\\|\\|?";
str.split(regex);
试试这个:
string.split("\\|{1,2}");
// A pipe ------^ ^ ^
// once | |
// or twice |
你可以试试这个正则表达式:String[] splits = yourString.split("[|||]+");
+ 之后将连续的分隔符视为一个。如果您不想要这个,您可以删除加号。示例如下所示:
public class RegexTest {
public static void main(String[] args) {
String yourString = "aaa|bbb|ccc|ddd||eee|iii||";
String[] splits = yourString.split("[|||]+");
for (String split : splits) {
System.out.println(split);
}
}
}