目录
2. lstrip(chars=None)、rstrip(chars=None)
1. strip(chars=None)
返回一个去除左右两侧空白字符的新字符串;通过 chars 参数可以指定将要去除的字符串
#默认去除左右两侧空白字符
x = ' 1234 '
x.strip()
'1234'
#从字符串左右向中间,去除所有与指定去除字符串其中任意字符相同的单字符
#直到有任意与指定去除字符串不一致的单字符为止
x = '132312abc413231123'
x.strip('123')
'abc4'
x = 'a123a'
x.strip('123')
'a123a'
x = '123a123b'
x.strip('123')
'a123b'
x = 'a123b213'
x.strip('123')
'a123b'
#没有可删除内容,则字符串内不变
x = 'abc'
x.strip('123')
'abc'
#chars输入重复内容,也照常截取
x = '2321a123b3122'
x.strip('222')
'321a123b31'
x.rstrip('123')
'2321a123b'
x.lstrip('123')
'a123b3122'
2. lstrip(chars=None)、rstrip(chars=None)
lstrip(chars=None)返回一个去除左侧空白字符的新字符串;通过 chars 参数可以指定将要去除的字符串
rstrip(chars=None)返回一个去除右侧空白字符的新字符串;通过 chars 参数可以指定将要去除的字符串
#默认去除左侧或右侧空白字符
x= ' ab cd '
x.lstrip()
'ab cd '
x.rstrip()
' ab cd'
#从字符串左或右向中间,去除所有与指定去除字符串其中任意字符相同的单字符
#直到有任意与指定去除字符串不一致的单字符为止
x = '2321321a123b23122'
x.lstrip('123')
'a123b23122'
x.rstrip('123')
'2321321a123b'
#chars输入重复内容,也照常截取
x = '2321a123b3122'
x.lstrip('222')
'321a123b3122'
x.rstrip('222')
'2321a123b31'
3. removeprefix(prefix)
如果存在 prefix 参数指定的前缀子字符串,则返回一个将该前缀去除后的新字符串;如果不存在,则返回一个原字符串的拷贝。【实测python3.7.6 不支持该函数,3.9.7版本已支持】
#从左开始对比完整的前缀子字符串,对比成功返回一个将该前缀去除后的新字符串
x = '123a123a123'
x.removeprefix('123')
'a123a123'
x.removeprefix('12')
'3a123a123'
#从左开始对比完整的前缀子字符串,对比不存在返回一个原字符串的拷贝
x.removeprefix('23')
'123a123a123'
x.removeprefix('21')
'123a123a123'
#从左开始对比空格、标点符号、字母、转义字符,对比成功返回一个将该前缀去除后的新字符串
x = '\ta\t'
x.removeprefix('\t')
'a\t'
x = ' @aba@ '
x.removeprefix(' @a')
'ba@ '
#对比子字符串为空字符串,返回一个原字符串的拷贝
x = '123a123a123'
x.removeprefix('')
'123a123a123'
#对比子字符串为空,报错
x.removeprefix()
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: str.removeprefix() takes exactly one argument (0 given)
4. removesuffix(suffix)
如果存在 suffix 参数指定的后缀子字符串,则返回一个将该后缀去除后的新字符串;如果不存在,则返回一个原字符串的拷贝。【实测python3.7.6 不支持该函数,3.9.7版本已支持】
#从右开始对比完整的后缀子字符串,对比成功返回一个将该后缀去除后的新字符串
x = '123a123a123'
x.removesuffix('123')
'123a123a'
x.removesuffix('3')
'123a123a12'
#从右开始对比完整的后缀子字符串,对比不存在返回一个原字符串的拷贝
x.removesuffix('13')
'123a123a123'
x.removesuffix('32')
'123a123a123'
#从左开始对比空格、标点符号、字母、转义字符,对比成功返回一个将该前缀去除后的新字符串
x = '\ta\t'
x.removesuffix('\t')
'\ta'
x = ' @aba@ '
x.removesuffix('a@ ')
' @ab'
#对比子字符串为空字符串,返回一个原字符串的拷贝
x = '123a123a123'
x.removesuffix('')
'123a123a123'
#对比子字符串为空,报错
x.removesuffix()
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: str.removesuffix() takes exactly one argument (0 given)

本文介绍了Python中四个用于处理字符串的函数:strip()、lstrip()、rstrip()以及removeprefix()和removesuffix()。strip()用于去除字符串左右两侧的空白字符,lstrip()和rstrip()分别用于去除左侧和右侧的空白。removeprefix()和removesuffix()则是从3.9版本开始支持,用于移除指定的前缀和后缀。请注意,这些函数在3.7.6版本中不完全支持。
783

被折叠的 条评论
为什么被折叠?



