字符串7:截取移除

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

目录

1. strip(chars=None)

2. lstrip(chars=None)、rstrip(chars=None)

3. removeprefix(prefix)

4. removesuffix(suffix)


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)

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

燃烧的火鸟啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值