我需要删除\s*,\s*
,但仅限于"
之间。
例如,此字符串a, b , c, "a, b , , c," a ,,
应该看起来像abc"a, b , , c," a
。
我发现[^abc]
表示不接触abc
而\.*
表示一切,所以我尝试了这个:
str = str.replaceAll("[^\"\\.*,\\.*\"]\\s*,\\s*", "");
重要提示:"
的数量是偶数。
答案 0 :(得分:5)
使用此模式
\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
)