分析
在 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, 只给你各领域更好的教程, 不再为挑选教程而闹心.
一定要关注哦, 以后一秒找教程!!!
来源: https://www.cnblogs.com/zhouzhiyao/p/11498907.html