这是我要拆分的示例字符串。我正在使用string.split("\\|")
。但由于弦本身具有双重矛状,我正在接受#34;"为此。
我想检查以使用派克|
或双派克||
拆分字符串。
aaa|bbb|ccc|ddd||eee|iii||
答案 0 :(得分:3)
您可以使用
string.split("\\|\\|?")
?
使第二个管道可选。
您可能还想使用:
string.split("\\|+")
如果您连续两行以上,则为“一个或多个|
”。
答案 1 :(得分:2)
您可以指定发生范围:
"aaa|bbb|ccc|ddd||eee|iii||".split("\\|{1,2}")
答案 2 :(得分:2)
您可以使用此正则表达式: -
String regex = "\\|\\|?";
str.split(regex);
答案 3 :(得分:1)
试试这个:
string.split("\\|{1,2}");
// A pipe ------^ ^ ^
// once | |
// or twice |
答案 4 :(得分:0)
你可以尝试这个正则表达式: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);
}
}
}