我用这个表达式"hello,145451,new,5565"
用逗号发送一个字符串",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)"
,并且运行正确,结果如下:
你好 145451 新 5565
它返回四个元素。
但是现在我需要将"hello|145451|new|5565"
与|
分开
我使用以下表达式:"\\|(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)"
,结果是:
hello | 145451 | new | 5565
它仅返回一个元素
有人可以帮助我吗?
答案 0 :(得分:0)
管道|
是正则表达式中的元字符,请添加双反斜杠以根据管道拆分字符串。
String str = "hello|145451|new|5565";
String arr[] = str.split("\\|(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)");
for(String myStr: arr) {
System.out.println(myStr);
}