0

How would I do the equivalent of str.strip() using regex?

So far I have:

>>> s = ' Luca Bercovici (characters) '
>>> re.sub('^\s|\s$','',s)
'Luca Bercovici (characters) '

This seems to remove all leading whitespace, but not trailing whitespace.

This looks ok: re.sub('^\s+|\s+$','',s)

4

1 に答える 1

3

まず、なんで.strip()普通に使わないの?


そうは言っても、あなたの既存のコードは私にとってはうまくいきます:

>>> import re
>>> s = ' Luca Bercovici (characters) '
>>> re.sub('^\s|\s$','',s)
'Luca Bercovici (characters)'

つまり、一方の端に複数の空白文字がある場合は、複数に一致するようにパターンを拡張する必要があります。

re.sub('^\s+|\s+$','',s)
于 2013-02-10T22:46:11.567 に答える