我在网上搜索了我的查询,但没有得到完全符合我要求的答案。我的字符串如下所示:
A|B|C|The Steading\|Keir Allan\|Braco|E
我的输出应如下所示:
A
B
C
The Steading|Keir Allan|Braco
E
我的要求是跳过分隔符(如果它前面有转义序列)。我在 String.split()
中使用负后视尝试了以下操作:
(?<!\\)\|
但是,我的问题是定界符将由最终用户动态定义,它不必总是 |
。它可以是键盘上的任何字符(无限制)。因此,我怀疑上面的正则表达式对于某些正则表达式中不允许的特殊字符可能会失败。
我只是想知道这是否是完美的方法。
原文由 user2757740 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用
Pattern.quote()
:使用你的例子:
您也可以扩展它以使用自定义转义序列: