本篇我们学习截断字符串头部和尾部字符的方法,包括 lstrip()、rstrip() 以及 strip()。这些方法都不会修改原始字符串,而是返回一个新的字符串。
字符串 lstrip() 方法
lstrip() 方法可以删除字符串头部的指定字符,语法如下:
str.lstrip([chars])
lstrip() 方法包含一个可选的参数。chars 参数用于指定需要删除的字符。如果不指定该参数,或者指定为 None,默认表示删除空白字符。
以下字符属于 Python 中的空白字符:
- ’ ’ – 空格符
- \t – 水平制表符
- \n – 换行符
- \r – 回车符
- \x0b – 垂直制表符,也可以使用 \v 表示
- \x0c – 换页符,也可以使用 \f 表示。
我们可以利用 string 模块查看所有的空白字符:
import string
string.whitespace
输出结果如下:
' \t\n\r\x0b\x0c'
下面我们来看几个使用 lstrip() 方法的示例。
以下示例使用 lstrip() 方法删除了字符串“\t Readability counts.”左侧的空白字符:
s = '\t Readability counts.'
print(s)
new_s = s.lstrip()
print(new_s)
输出结果如下:
Readability counts.
Readability counts.
示例中的字符串 s 左侧包含了一个制表符和空格。
以下示例使用 lstrip() 方法将一个字符串列表转换为数字列表,字符串左侧可能包含 $ 或者 £ 符号:
data = ['$1250', '£2300', '3000']
amounts = [float(amount.lstrip('$£'))
for amount in data]
print(amounts)
输出结果如下:
[1250, 2300, 3000]
字符串 rstrip() 方法
rstrip() 方法用于删除字符串尾部的指定字符,语法如下:
str.rstrip([chars])
rstrip() 方法包含一个可选的参数。chars 参数用于指定需要删除的字符。如果不指定该参数,或者指定为 None,默认表示删除空白字符。
以下示例使用 rstrip() 方法删除了字符串“Now is better than never. \n”右侧的空白字符:
s = 'Now is better than never. \n'
print(s)
new_s = s.rstrip()
print(new_s)
输出结果如下:
Now is better than never.
Now is better than never.
示例中的字符串 s 右侧包含了一个空格和换行符。
以下示例使用 rstrip() 方法删除字符串“Section 1. Issue #15…”右侧的 . 和 # 字符:
heading = 'Section 1. Issue #15.....'
new_heading = heading.rstrip('.#')
print(new_heading)
输出结果如下:
Section 1. Issue #15
由于 # 右侧还有字符“15”,所以没有被删除。
字符串 strip() 方法
strip() 方法的作用相当于 lstrip() 加上 rstrip(),可以同时删除字符串两端的指定字符:
str.strip([chars])
strip() 方法包含一个可选的参数。chars 参数用于指定需要删除的字符。如果不指定该参数,或者指定为 None,默认表示删除空白字符。
以下示例使用 strip() 方法删除了字符串“\tHi, how are you?\n ”两侧的空白字符:
s = '\tHi, how are you?\n '
print(s)
new_s = s.strip()
print(new_s)
输出结果如下:
Hi, How are you?
Hi, How are you?
示例中的字符串 s 左侧包含了一个制表符,右侧包含了一个换行符和空格符。
以下示例使用 strip() 方法删除字符串“#…Section 1.2.3 Bug #45…”两侧的 . 和 # 字符:
heading = '#.....Section 1.2.3 Bug #45.....'
new_heading = heading.strip('.#')
print(new_heading)
输出结果如下:
Section 1.2.3 Bug #45
总结
- 字符串 lstrip(chars)、rstrip(chars) 以及 strip(chars) 方法分别用于删除字符串左侧、右侧以及两侧的指定字符。
- 默认删除空白字符,包括空格符、水平制表符、垂直制表符、换行符、回车符、换页符。