假设我有一个这样的字符串,其中的项用逗号分隔,但在带有括号内容的项中也可能有逗号:
(编辑:对不起,忘了说有些项目可能没有括号内容)
"Water, Titanium Dioxide (CI 77897), Black 2 (CI 77266), Iron Oxides (CI 77491, 77492, 77499), Ultramarines (CI 77007)"
我怎样才能只用那些不在括号内的逗号来分隔字符串呢?i、 e:
["Water", "Titanium Dioxide (CI 77897)", "Black 2 (CI 77266)", "Iron Oxides (CI 77491, 77492, 77499)", "Ultramarines (CI 77007)"]
我想我得用正则表达式,可能是这样的:
([(]?)(.*?)([)]?)(,|$)
但我仍在努力让它发挥作用。
您可以使用
str.replace
和str.split
来完成它。 您可以使用任何字符替换),
。输出:
试试正则表达式
代码:
查看regex如何工作http://regex101.com/r/pS9oV3/1
使用negative lookahead匹配所有不在括号内的逗号。根据匹配的逗号拆分输入字符串将提供所需的输出。
DEMO
相关问题 更多 >
编程相关推荐