【发布时间】:2019-12-12 20:50:12
【问题描述】:
我用逗号发送一个字符串"hello,145451,new,5565",这个表达式",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)",这个结果运行正确:
你好 145451 新的 5565
它返回四个元素。
但现在我需要将"hello|145451|new|5565" 与| 分开
我使用这个表达式:"\\|(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)",结果是:
你好|145451|新|5565
它只返回一个元素
谁能帮帮我?
【问题讨论】:
-
String[] split = "hello|145451|new|5565".split("|");
-
没有找到这个,我想替换这个表达式 ",(?=(?:[^\"]\"[^\"]\")[^\"]$)" 但是用“|”隔开
-
Your code works as expected。
"\\|(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)"在双引号之外与|正确拆分(虽然正则表达式效率不高,在这种情况下强烈建议使用 CSV 解析器)。 -
是的!运行良好,非常感谢