我的正则表达式:
vendor = "MyNameIsJoe. I'mWorkerInAAAinc."
ven = re.split(r'(?<=[a-z])[A-Z]|[A-Z](?=[a-z])', vendor)
按大写字母拆分字符串,例如:
'MyNameIsJoe。 I'WorkerInAAAinc'变成'我的名字是Joe。我是AAA公司的工人。
答案 0 :(得分:0)
您可以使用re.findall()
来查找预期的字词,而不是分割:
In [46]: ' '.join(re.findall(r'[A-Z]?[^A-Z\s]+|[A-Z]+', vendor))
Out[46]: "My Name Is Joe. I'm Worker In AAA inc."
请注意,此选项[A-Z]+
将与AAA
匹配,这意味着任何长度大于1的大写字母组合,如果您不想要这样,您可以简单地使用{{1} }。
答案 1 :(得分:0)
使用sub
:
re.sub(r'([a-z])([A-Z])|(?<=[A-Z])([A-Z]+)', r'\g<3>\g<1> \g<2>', vendor)