问题:如何在Python中删除前导空格?
我有一个以多个空格开头的文本字符串,介于2和4之间。
删除前导空格的最简单方法是什么?(即删除某个字符之前的所有内容?)
" Example" -> "Example"
" Example " -> "Example "
" Example" -> "Example"
回答 0
该lstrip()
方法将删除以字符串开头的前导空格,换行符和制表符:
>>> ' hello world!'.lstrip()
'hello world!'
编辑
正如balpha在注释中指出的那样,为了仅从字符串开头删除空格,lstrip(' ')
应使用:
>>> ' hello world with 2 spaces and a tab!'.lstrip(' ')
'\thello world with 2 spaces and a tab!'
相关问题:
回答 1
该函数strip
将从字符串的开头和结尾删除空格。
my_str = " text "
my_str = my_str.strip()
将设置my_str
为"text"
。
回答 2
如果要剪切单词前后的空格,请保留中间的空格。
您可以使用:
word = ' Hello World '
stripped = word.strip()
print(stripped)
回答 3
要删除某个字符之前的所有内容,请使用正则表达式:
re.sub(r'^[^a]*', '')
删除所有内容,直到第一个“ a”。[^a]
可以替换为您喜欢的任何字符类,例如单词字符。
回答 4
这个问题不会解决多行字符串,但是这是如何使用python的标准库textwrap模块从多行字符串中去除前导空格。如果我们有一个像这样的字符串:
s = """
line 1 has 4 leading spaces
line 2 has 4 leading spaces
line 3 has 4 leading spaces
"""
如果我们print(s)
得到如下输出:
>>> print(s)
this has 4 leading spaces 1
this has 4 leading spaces 2
this has 4 leading spaces 3
如果我们使用了textwrap.dedent
:
>>> import textwrap
>>> print(textwrap.dedent(s))
this has 4 leading spaces 1
this has 4 leading spaces 2
this has 4 leading spaces 3
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。