Python字符串中删除特定字符
2019-09-10 18:00
1621 查看
分析
在Python中,字符串是不可变的。所以无法直接删除字符串之间的特定字符。
所以想对字符串中字符进行操作的时候,需要将字符串转变为列表,列表是可变的,这样就可以实现对字符串中特定字符的操作。
1、删除特定字符
特定字符的删除,思路跟
插入字符类似。
可以分为两类,
删除特定位置的字符或者
删除指定字符。
1.1、删除特定位置的字符
使用
.pop()方法。输入参数,即为要删除的索引。
string = '公众号:土堆碎念' list_str = list(string) list_str.pop(1) list_str = ''.join(list_str) print(list_str)
输出:
1.2、删除指定字符
删除指定字符与删除特定位置的区别是:删除指定字符,需要提供指定的字符,和需要删除的最大数目。而删除特定位置的字符,只需要提供删除字符的索引即可。
1.3、两种实现
删除的实现,除了像
pop方法那种,弹出特定字符的删除,也可以用空字符来替换特定的字符,来实现删除。
.replace()方法
replace(...) method of builtins.str instance
S.replace(old, new[, count]) -> str
比如,字符串
a='公众号公众号:土堆碎念',尝试将其中的
公字符删除,将
公字符替换成空字符。
注意,它返回的是替换后(在这种情况下,是删除字符)的字符,没有改变原始字符串,也就是说,a还是原来那个a。所以如果想使用替换后的字符,需要指定一个变量进行赋值。
眼尖的你,发现还有一个可选参数,
count。
count参数就可以指定要替换几个。我们无意中知道了如何删除指定数目的字符。
正则表达式
除了使用
Python标准库中的方法,还可以使用
re正则表达式库,来实现。
使用
re.sub()方法,这个方法的功能更强大,可以替换特定模式的字符。
因为模式匹配比较麻烦,所以比较强大。
sub(pattern, repl, string, count=0, flags=0)
pattern代表指定的模式,这是强大的原因,如果简单点使用,只指定特定字符,就可以用
'特定字符'来表示模式。
repl代表的是,需要替换成的字符,如果删除,就是替换成空字符。
string代表的是,需要被替换的字符串。
count是替换的次数。
总结
- 无论是Python字符串自带的
.replace()
方法,还是re
提供的.sub()
方法,都是不改变原来的字符串,返回值才是替换的字符串。所以,如果要使用替换的字符串,就需要将返回值赋值给一个变量。 - 这两种方法,默认都是替换所有的指定字符。
教程中的Costco,只给你各领域更好的教程,不再为挑选教程而闹心。
一定要关注哦,以后一秒找教程!!!
相关文章推荐
- 算法题4 在字符串中删除特定的字符
- 数据结构——算法之(022)( 在字符串中删除特定的字符)
- 面试题-在字符串中删除特定的字符[算法]
- 微软等数据结构+算法面试100题(29)--在字符串中删除特定的字符
- 删除字符串中特定字符
- 超初级的用Python收集杂乱字符串中的特定字符,统计出每个特定字符的出现次数并取出最小值
- Interview100-63 删除字符串中特定的字符
- 在字符串中删除特定字符
- 【算法20】在字符串中删除特定的字符
- 在字符串中删除特定的字符
- 在字符串中删除特定的字符
- python删除所有的中文字符、非ASCII或非英文字符,检查字符串是否包含非ASCII
- 在字符串中删除特定的字符
- python编程—输入两个字符串,从第一字符串中删除第二个字符串中所有的字符
- 36.在字符串中删除特定的字符[Delete source from dest]
- Python 正则表达式替换特定字符为标志的字符串
- 使用正则表达式删除一个字符串中特定两个字符之间的所有字符
- [算法学习]在字符串中删除特定的字符
- 程序员面试题精选100题(36)-在字符串中删除特定的字符[算法]
- python小脚本 删除含有特定字符的txt,并重命名