str.title() fails with words containing apostrophes
python at mrabarnett.plus.com
Sun Mar 5 14:38:54 EST 2017
On 2017-03-05 17:54, Steve D'Aprano wrote:
> I'm trying to convert strings to Title Case, but getting ugly results if the
> words contain an apostrophe:
> py> 'hello world'.title() # okay
> 'Hello World'
> py> "i can't be having with this".title() # not okay
> "I Can'T Be Having With This"
> Anyone have any suggestions for working around this?
A bit of regex?
return re.sub(r"\b'\w", lambda m: m.group().lower(), string.title())
More information about the Python-list