python正则表达式删除指定字符_Python字符串中删除特定字
符的⽅法
分析
在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
⽐如,字符串a=':⼟堆碎念',尝试将其中的公字符删除,将公字符替换成空字符。
注意,它返回的是替换后(在这种情况下,是删除字符)的字符,没有改变原始字符串,也就是说,a还是原来那个a。所以如果想使⽤替换后的字符,需要指定⼀个变量进⾏赋值。
python正则表达式不包含眼尖的你,发现还有⼀个可选参数,count。
count参数就可以指定要替换⼏个。我们⽆意中知道了如何删除指定数⽬的字符。
正则表达式
除了使⽤Python标准库中的⽅法,还可以使⽤re正则表达式库,来实现。
使⽤re.sub()⽅法,这个⽅法的功能更强⼤,可以替换特定模式的字符。
因为模式匹配⽐较⿇烦,所以⽐较强⼤。
sub(pattern, repl, string, count=0, flags=0)
pattern代表指定的模式,这是强⼤的原因,如果简单点使⽤,只指定特定字符,就可以⽤'特定字符'来表⽰模式。
repl代表的是,需要替换成的字符,如果删除,就是替换成空字符。
string代表的是,需要被替换的字符串。
count是替换的次数。
总结
⽆论是Python字符串⾃带的.replace()⽅法,还是re提供的.sub()⽅法,都是不改变原来的字符串,返回值才是替换的字符串。所以,如果要使⽤替换的字符串,就需要将返回值赋值给⼀个变量。
这两种⽅法,默认都是替换所有的指定字符。
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持python博客。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。