如何修剪Python字符串中的空格?

如何从Python中的字符串中删除前导空格和尾部空格?

例如:

" Hello " --> "Hello"
" Hello"  --> "Hello"
"Hello "  --> "Hello"
"Bob has a cat" --> "Bob has a cat"

只有一个空间,或所有这些空间? 如果第二个,那么字符串已经有一个.strip()方法:

>>> ' Hello '.strip()
'Hello'
>>> ' Hello'.strip()
'Hello'
>>> 'Bob has a cat'.strip()
'Bob has a cat'
>>> '          Hello        '.strip()  # ALL spaces at ends removed
'Hello'

如果你只需要删除一个空间,你可以这样做:

def strip_one_space(s):
    if s.endswith(" "): s = s[:-1]
    if s.startswith(" "): s = s[1:]
    return s

>>> strip_one_space("   Hello ")
'  Hello'

另外请注意, str.strip()删除其他空白字符(例如制表符和换行符)。 要仅删除空格,可以指定要删除的字符作为strip的参数,即:

>>> "  Hellon".strip(" ")
'Hellon'

正如上面的答案中指出的那样

myString.strip()

将删除所有前导和尾随空格字符,如 n, r, t, f,空格。

为了更灵活地使用以下内容

  • 删除只有前导空白字符: myString.lstrip()
  • 删除仅尾部的空白字符: myString.rstrip()
  • 删除特定的空白字符: myString.strip('n')myString.lstrip('nr')myString.rstrip('nt')等等。
  • 更多细节可在文档中找到


    strip并不限于空白字符:

    # remove all leading/trailing commas, periods and hyphens
    title = title.strip(',.-')
    
    链接地址: http://www.djcxy.com/p/66495.html

    上一篇: How do I trim whitespace from a Python string?

    下一篇: Close Image with subprocess