我有一个文本字符串,以一些空格开始,在2和4之间变化。

删除前导空格的最简单方法是什么?(即。删除某个字符之前的所有内容?)

"  Example"   -> "Example"
"  Example  " -> "Example  "
"    Example" -> "Example"

当前回答

功能条将删除字符串开头和结尾的空白。

my_str = "   text "
my_str = my_str.strip()

将my_str设置为“text”。

其他回答

如果你想去掉单词前后的空白,但保留中间的空白。 你可以用:

word = '  Hello World  '
stripped = word.strip()
print(stripped)

要删除某个字符之前的所有内容,请使用正则表达式:

re.sub(r'^[^a]*', '')

删除第一个“a”之前的所有内容。[^a]可以替换为任何你喜欢的字符类,比如字字符。

功能条将删除字符串开头和结尾的空白。

my_str = "   text "
my_str = my_str.strip()

将my_str设置为“text”。

lstrip()方法将删除以以下开头的字符串上的前导空格、换行符和制表符:

>>> '     hello world!'.lstrip()
'hello world!'

Edit

正如balpha在评论中指出的,为了只删除字符串开头的空格,应该使用lstrip(' '):

>>> '   hello world with 2 spaces and a tab!'.lstrip(' ')
'\thello world with 2 spaces and a tab!'

相关问题:

在Python中修饰字符串

我个人最喜欢的字符串处理是剥离,分裂和连接(按此顺序):

>>> ' '.join("   this is my  badly spaced     string   ! ".strip().split())
'this is my badly spaced string !'

一般来说,它可以很好地应用于所有字符串处理。

它的作用如下:

首先,它去掉了开头和结尾空格。 然后它会分割——默认情况下它会在空格上执行此操作(因此它甚至会获得制表符和换行符)。它返回一个列表。 最后,join遍历列表,并在每个列表之间使用一个空格进行连接。