How do I remove leading whitespace in Python?
我有一个以许多空格开头的文本字符串,在2&4之间变化。
删除前导空格最简单的方法是什么?(即删除某个字符之前的所有内容?)
1 2 3
| " Example" ->"Example"
" Example " ->"Example "
" Example" ->"Example" |
lstrip()方法将删除字符串开头的前导空格、换行符和制表符:
1 2
| >>> ' hello world!'.lstrip()
'hello world!' |
编辑
正如Balpha在评论中指出的,为了只删除字符串开头的空格,应使用lstrip(' '):
1 2
| >>> ' hello world with 2 spaces and a tab!'.lstrip(' ')
'\thello world with 2 spaces and a tab!' |
相关问题:
- 但是请注意,lstrip在删除前导空格的同时可能会删除更多的空格(制表符等)。这通常是你想要的。如果只想删除空格和空格,请调用"bla".lstrip("")。
- @巴尔法:谢谢你指出这一点!我在答案中加了这个。
- 多年来一直在编程,但不知道这一点,救生员
- 对于新的python程序员来说,注意python中的字符串是不可变的,所以如果您使用的是字符串"string_a",您可能会认为string_a.lstrip()会更改字符串本身,但实际上您需要将string_a.lstrip()的值赋给它本身或新的变量,例如"string_a=string_a.lstrip()"。
函数strip将从字符串的开头和结尾删除空白。
1 2
| my_str =" text"
my_str = my_str.strip() |
将my_str设置为"text"。
- docs.python.org/library/string.html string.strip
- 不是答案,而是很好的补充。+ 1
如果你想在单词前后去掉空格,但要保留中间的空格。你可以使用:
1 2 3
| word = ' Hello World '
stripped = word.strip()
print(stripped) |
- 值得注意的是,这确实打印了'Hello World',中间的空间完好无损,对于任何人来说,我想它已经被否决了,因为最初的问题是专门要求删除前导空格。
- docs.python.org/3/whatsnew/3.0.html print是一个函数。print语句已被print()函数替换,用关键字参数替换旧print语句(pep 3105)的大部分特殊语法。
- @布兰迪,这句话和这里有什么关系?
要删除某个字符之前的所有内容,请使用正则表达式:
把所有东西移到第一个"A"。[^a]可以替换为您喜欢的任何字符类,例如单词字符。
- 我认为他要求的是"最简单和最简单的方法"
- 是的,但他也(也许是无意中)为一个更普遍的问题寻求解决方案,"即在某个角色之前删除所有内容?"这就是更一般的解决方案。