如何在Python中修剪字符串并删除前导和尾部的空白?

198 阅读4分钟

Python Trim String Tutorial | rstrip(), lstrip(), strip() Example

要在Python修剪一个字符串,可以使用strip() 函数。 strip()是一个内置的函数,它可以修剪字符串并删除前导和尾部的空白。要删除左边的空白,使用lstrip()函数。要删除右边的空白,请使用rstrip() 函数。

  1. strip():strip()在去除任何前导和尾部的空白后返回一个新的字符串,包括制表符(\t)。
  2. rstrip():rstrip()返回去除尾部空白的新字符串。通过去除字符串 "右边 "的空白,更便于记忆。
  3. lstrip(): lstrip()返回去除前导空白的新字符串,或去除字符串 "左 "侧的空白。

所有这些方法都不接受任何去除空白的参数。然而,如果提供了一个字符参数,它们将从字符串的前导和尾部位置删除这些字符。

如果你想计算一个字符串中的字符数,请查看Python字符串计数文章。另外,你可以使用Python startswith函数来检查一个字符串是否以某个特定的字符串开始。

让我们逐一检查 strip, lstrip, 和 rstrip 方法。

Python strip

strip()是一个内置的Python方法,它可以删除所有的前导和尾部的空白字符,如: \n, \r, \t, \f, space。此外,strip()方法返回字符串的副本,其中所有的字符都已经从字符串的开头和结尾剥离(默认的空白字符)。

语法

参见以下语法。

string.strip([chars])

参数

chars参数是可选的,它是要从字符串的开头或结尾去除的字符。

见下面的例子。

# app.py

data = ' AppDividend    '
print(data)
print('After Stripped Data')
print(data.strip())

输出结果如下。

Python Trim String Tutorial

你可以在输出中看到,Python strip()方法已经从字符串的开头和结尾去除了白色的空格。

现在,让我们传递参数,看看输出。

# app.py

data = 'AppDividend'
print(data)
print('After Stripped d character')
print(data.strip('d'))

请看下面的输出。

Python strip() Example

所以,在输出中,你可以看到最后一个d 字符被移除。

使用Python strip()方法后,原始字符串仍然存在。你 可以注意到,它将从开头或结尾处删除字符。它不会删除字符串之间的字符。因此,如果你试图删除字符串的中心字符,那么它将不会删除该字符。

如果没有给出char参数,那么前面和后面的空格将被删除。

如果提供了,那么 strip() 方法将从给定的字符串中删除匹配的字符。

strip方法的返回值是去除空格或给出一组字符后的字符串的副本。

我们也可以在参数中传递唯一的字符来删除该字符。请看下面的代码示例。

# app.py

data = ' AppDividend,,------'
print(data)
print('After Stripped Data')
print(data.strip(',-'))

在上面的代码中,我们传递了两个特殊字符。

  1. 逗号(,)
  2. 连字符(-)

现在,这两个特殊字符都在字符串的末端。所以,它将被剥离,现在看看输出。

strip() Example

Python lstrip()

lstrip()是一个内置的Python方法,它从字符串的左边去除空白,并返回新的字符串。lstrip()函数不接受任何参数。

请看下面的例子。

# app.py

data = '      AppDividend'
print(data)
print('After Stripped Data')
print(data.lstrip())

请看下面的输出。

Python lstrip()

Python rstrip()

rstrip()是一个内置的Python方法,它从字符串的左边去除空白,并返回新的字符串。strip()方法不接受任何参数。

请看下面的代码示例。

# app.py

data = 'AppDividend       '
print(data)
print('After Stripped Data')
print(data.rstrip())

请看下面的例子。

Python rstrip()

因此,在输出中,右侧的空白处已经被删除。

还要注意的是,如果你的源字符串包含前导或后导的换行符(\n)、回车符(\r)或制表符(\t),那么这些也被认为是空白处,将像使用strip()、lstrip()或rstrip()方法一样被修剪。

Python修剪换行符

要在Python中修剪空白处,可以使用rstrip()函数。Python的rstrip() 方法默认会剥离各种尾部的空白。

# app.py

print('App Dividend\n'.rstrip())

请看输出结果。

➜  pyt python3 app.py
App Dividend
➜  pyt

在Python中删除一个字符串的第一个字符。

要在Python中删除一个字符串的第一个字符,可以使用冒号(:)操作符对字符串进行切片。

让我们看看这个例子,我们将删除字符串的第一个字符。

# app.py

blog = 'AppDividend'
print(blog[1:])

请看输出结果。

➜  pyt python3 app.py
ppDividend
➜  pyt

删除特定的字符

要从Python中的一个字符串中删除特定的字符,请使用join()split()函数的组合。

# app.py

blog = 'AppDividend'
print(''.join(blog.split('D', 3)))

请看输出结果。

➜  pyt python3 app.py
Appividend
➜  pyt

本教程到此结束。