A pythonic way to insert a space before capital letters

前端 未结 9 1861
旧时难觅i
旧时难觅i 2021-02-04 00:32

I\'ve got a file whose format I\'m altering via a python script. I have several camel cased strings in this file where I just want to insert a single space before the capital l

9条回答
  •  醉话见心
    2021-02-04 00:59

    If there are consecutive capitals, then Gregs result could not be what you look for, since the \w consumes the caracter in front of the captial letter to be replaced.

    >>> re.sub(r"(\w)([A-Z])", r"\1 \2", "WordWordWWWWWWWord")
    'Word Word WW WW WW Word'
    

    A look-behind would solve this:

    >>> re.sub(r"(?<=\w)([A-Z])", r" \1", "WordWordWWWWWWWord")
    'Word Word W W W W W W Word'
    

提交回复
热议问题