我有下一段文字
aaa|bbbb|cccc|dddd\|eeee|ffff
我想按|并排除|以\开头并获得
aa
bbbb
cccc
dddd \ | eeee
ffff
谢谢。
ps:我尝试使用一些regexp生成器(例如http://txt2re.com/),但坦率地说regexp并不友好。
更新:最后我放弃了。正则表达式不是很快(我做了一个基准测试),也不是很清楚(与每个人都可以遵循的功能相比),然后我跳过了它,现在我正在使用真实代码。
最佳答案
试图将其添加为对失明眼症的回答的注释,但不知道该如何格式化...
无论如何,失明的答案对我来说是正确的:
String str = "aaa|bbbb|cccc|dddd\\|eeee|ffff";
String[] tokens = str.split("(?<!\\\\)\\|");
System.out.println(Arrays.toString(tokens));
打印:
[aaa, bbbb, cccc, dddd\|eeee, ffff]