gpt4 book ai didi

Java 正则表达式 replaceAll

转载 作者:行者123 更新时间:2023-11-30 06:16:16 26 4
gpt4 key购买 nike

我需要删除 \s*,\s* 但只有当它不在 " 之间时。例如,这个字符串 a, b , c, "a, b , , c,"a ,, 应该看起来像 abc"a, b , , c,"a.

我发现 [^abc] 意味着不要触摸 abc\.* 意味着一切,所以我尝试了这个:

str = str.replaceAll("[^\"\\.*,\\.*\"]\\s*,\\s*", "");

重要:" 的数量是偶数。

最佳答案

使用这个模式

\s*,\s*(?=(?:(?:[^"]*"){2})*[^"]*$)  

Demo
我想在你的情况下,将 \s 替换为 \\s

\s*,\s*                 # your pattern
(?= # look-ahead
(?:(?:[^"]*"){2})* # optional pairs of double quotes
[^"]*$ # followed by optional anything but double quotes to the end
)

关于Java 正则表达式 replaceAll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27584983/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com