是的,
split支持正则表达式。根据您的要求,
根据逗号的正则表达式匹配后跟一个空格和一个大写字母进行拆分
您可以使用
df['incident_characteristics'].str.split(r's*,s*(?=[A-Z])', expand=True)
请参阅regex演示。
细节
s*,s*
-包含0+空格的逗号(?=[A-Z])
-仅在后跟大写ASCII字母时
然而,似乎还不想匹配括号内的逗号,加上
(?![^()]*))先行如果失败了比赛,马上到当前位置的右边,还有比其他0+字符
(和
)再
):
r's*,s*(?=[A-Z])(?![^()]*))'
并且可以防止在括号内(括号内没有括号)中的大写单词之前匹配逗号。
参见另一个正则表达式演示。



