正如标题所说,我想在大写字母之前添加空格,但前提是前一个字母不是大写字母。因此'HelloCHARLIE this isBob.'
应该成为'Hello CHARLIE this is Bob.'
答案 0 :(得分:1)
(?<![A-Z])(?<!^)([A-Z])
print re.sub(r"(?<![A-Z])(?<!^)([A-Z])",r" \1",x)
这是有效的。参见demo.Use负向lookbehind以确保前面的字符不是Capital或字符串的开头。
参见演示。
答案 1 :(得分:1)
一种解决方案是
import re
string = 'HelloCHARLIE this isBob.'
re.sub(r'(?<=[a-z])(?=[A-Z])', ' ', string)
打印
'Hello CHARLIE this is Bob.'