我有一个字符串:
string = 'i-phone is popular - many people like it (user-friendly system, fast, good support)'
如何使用正则表达式将其拆分为:
split_string = ['i-phone', 'is', 'popular', 'many', 'people', 'like', 'it', 'user-friendly', 'system', 'fast', 'good', 'support']
问题是-
包含2个空格和1个连字符。
我试过了: split_string = re.split(' [() - ]',string) 但我得到了:
['i-phone', 'is', 'popular', '-', 'many', 'people', 'like', 'it', '', 'user-friendly', 'system,', 'fast,', 'good', 'support', '']
感谢。
答案 0 :(得分:3)
尝试使用此正则表达式进行拆分:
\s+(?:[()-]\s*)?|[,()]\s*
<强> Click for Demo 强>
<强>解释强>
\s+
- 匹配1 + white-spaces (?:[()-]\s*)?
- 匹配(
,)
,-
,然后匹配0 +以上的空格。最后的?
使此子部分成为可选|
- 或[,()]\s*
- 匹配,
或(
或)
,后跟0 +空格