首页 > Python资料 博客日记

12、Python如何去掉字符串中不需要的字符

2024-12-31 21:00:06Python资料围观23

文章12、Python如何去掉字符串中不需要的字符分享给大家,欢迎收藏Python资料网,专注分享技术知识

方案一:字符串的 strip()、lstrip()、rstrip() 方法

str.strip([chars])

返回字符串的一个副本,去掉前面和后面的字符。chars参数是一个字符串,指定要删除的字符集。如果省略或没有,chars参数默认为删除空白符。

str = ' \n abcd  \t '
print(str.strip())
# abcd

str = '+===-==abcdefg===+=='
print(str.strip('+-='))
# abcdefg

方案二:删除固定位置字符串可以使用切片

字符串切片可以用来截取字符串的一部分,我们可以利用这个方法来去除字符串中的特定字符。

filename = 'name.png'
print(filename[4:]) # .png

方案三:字符串替换

可以把你不需要的字符替换为空字符串,这样就把字符串删除问题,转换成了字符串替换问题,实现了去掉字符串中不需要的字符的效果。

1、可以使用replace() 方法进行字符串替换:

filename = 'name.png'
print(filename.replace('name', 'file'))
# file.png
# 空格替换为空字符串实现去除不需要字符的效果
str = 'hello lilei'
print(str.replace(' ', ''))

2、使用正则表达式:

replace() 方法存在一个问题,一次只能替换一个字符,想要替换多个,还要循环执行,那我们其实也可以直接使用正则,一次完成替换。

import re
str = '+===-==abcdefg===+=='
res = re.sub('[+=-]+', '', str)
print(res) # abcdefg

3、使用 translate() 函数

使用translate()方法进行字符串转换,通常需要先创建一个转换表。转换表可以使用Python内置的str.maketrans()方法创建,也可以通过 ord() 方法手动创建一个字典来实现。

# 1.手动创建转换表
str = '123abc78defg'
print(str.translate({ord('a'): 'A'}))
# 结果: 123Abc78defg

# 2.当需要替换的字符非常多的时候
table = str.maketrans("abc", "ABC")
print(str.translate(table))
# 结果:123ABC78defg

# 3.将所有数字转换为空
table = str.maketrans("", "", '0123456789')
print(str.translate(table))
# 结果:abcdefg
string.maketrans(x[, y[, z]])
  • x -- 必需,字符串中要替代的字符组成的字符串。
  • y -- 可选,相应的映射字符的字符串。
  • z -- 可选,要删除的字符。

版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐