很抱歉,如果这个问题已经解决或关闭,但我一直在寻找很长时间而没有回答。
我必须使用~
分隔符来分割我从外部系统接收的行。
我遇到了一个问题,因为有些数据包含~~
(〜重复两次),在这种情况下,数据不能拆分。
因此,如果我收到A~B~C~~C~D
,我希望将此拆分回来:
A, B, C~~C, D
我无法弄清楚我必须使用哪些正则表达式来分割~~
。
答案 0 :(得分:2)
答案 1 :(得分:0)
您可以(?<!~)~(?!~)
使用负面预测和后备~
。
示例强>
String test = "A~B~C~~D~E";
System.out.println(
Arrays.toString(
test.split("(?<!~)~(?!~)")
)
);
<强>输出强>
[A, B, C~~D, E]
这也适用于两个以上的连续~
个,例如与"A~B~C~~~D~E"
。