zl程序教程

您现在的位置是:首页 >  Python

当前栏目

python字符串,特定字符的删除问题

2023-04-18 14:21:23 时间

分析

python中,字符串是不可变的,所以无法直接删除字符串之间的特定字符。
所以如果想要对字符串中的字符进行操作的时候,可以先把字符串转化成列表,再对列表进行相应操作。


1、删除指定位置字符

对列表使用**.pop()**方法

s='abcde'
str_list=list(s)
str_list.pop(0)
s=''.join(str_list)
print(s)  #输出为:bcde

2、删除指定字符

2.1 列表实现

和删除指定位置方法同理

s='abcde'
str_list=list(s)
str_list.remove('a')
s=''.join(str_list)
print(s)  #输出为:bcde

2.2 replace()函数实现

replace(…) method of builtins.str instance
S.replace(old, new[, count]) -> str

old:需替字符
new:需要替换成的字符
count:需替换的个数

注意,replace()并不是再原字符串上做修改,而是返回一个新的字符串

s='abcde'
s.replace('a','',1)  #不指定count则全部替掉
print(s)   #OUPUT:bcde

2.3 正则

模块:re.sub()。正则模式匹配功能更加强大,但相对使用起来也相对繁琐

sub(pattern, repl, string, count=0, flags=0)

pattern:模式串
repel:需替换成的字符
string:需操作的字符串
count:替换的次数

s='abcde'
s=re.sub('a','',s,1)
print(s)   #OUPUT:bcde

注意,sub()也是新字符串,不会在原串上进行修改