Python字符串中删除特定字符的方法


Posted in Python onJanuary 15, 2020

分析

在Python中,字符串是不可变的。所以无法直接删除字符串之间的特定字符。
所以想对字符串中字符进行操作的时候,需要将字符串转变为列表,列表是可变的,这样就可以实现对字符串中特定字符的操作。

1、删除特定字符

特定字符的删除,思路跟插入字符类似。

可以分为两类,删除特定位置的字符 或者 删除指定字符

1.1、删除特定位置的字符

使用.pop()方法。输入参数,即为要删除的索引。

string = '公众号:土堆碎念'
list_str = list(string)
list_str.pop(1)
list_str = ''.join(list_str)
print(list_str)

输出:

Python字符串中删除特定字符的方法

1.2、删除指定字符

删除指定字符与删除特定位置的区别是:删除指定字符,需要提供指定的字符,和需要删除的最大数目。而删除特定位置的字符,只需要提供删除字符的索引即可。

1.3、两种实现

删除的实现,除了像pop方法那种,弹出特定字符的删除,也可以用空字符来替换特定的字符,来实现删除。

.replace()方法

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

比如,字符串a='公众号公众号:土堆碎念',尝试将其中的字符删除,将字符替换成空字符。

注意,它返回的是替换后(在这种情况下,是删除字符)的字符,没有改变原始字符串,也就是说,a还是原来那个a。所以如果想使用替换后的字符,需要指定一个变量进行赋值。

Python字符串中删除特定字符的方法

眼尖的你,发现还有一个可选参数,count

count参数就可以指定要替换几个。我们无意中知道了如何删除指定数目的字符。

Python字符串中删除特定字符的方法

正则表达式

除了使用Python标准库中的方法,还可以使用re正则表达式库,来实现。

使用re.sub()方法,这个方法的功能更强大,可以替换特定模式的字符。

因为模式匹配比较麻烦,所以比较强大。

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

pattern代表指定的模式,这是强大的原因,如果简单点使用,只指定特定字符,就可以用'特定字符'来表示模式。

repl代表的是,需要替换成的字符,如果删除,就是替换成空字符。

string代表的是,需要被替换的字符串。

count是替换的次数。

Python字符串中删除特定字符的方法

总结

无论是Python字符串自带的.replace()方法,还是re提供的.sub()方法,都是不改变原来的字符串,返回值才是替换的字符串。所以,如果要使用替换的字符串,就需要将返回值赋值给一个变量。

这两种方法,默认都是替换所有的指定字符。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 列表(List)操作方法详解
Mar 11 Python
python实现通过pil模块对图片格式进行转换的方法
Mar 24 Python
Python中用于返回绝对值的abs()方法
May 14 Python
Python编程中归并排序算法的实现步骤详解
May 04 Python
Python selenium 三种等待方式详解(必会)
Sep 15 Python
python实现12306火车票查询器
Apr 20 Python
pip matplotlib报错equired packages can not be built解决
Jan 06 Python
Python之dict(或对象)与json之间的互相转化实例
Jun 05 Python
python实现统计文本中单词出现的频率详解
May 20 Python
Pycharm修改python路径过程图解
May 22 Python
python中adb有什么功能
Jun 07 Python
Python用tkinter实现自定义记事本的方法详解
Mar 31 Python
计算pytorch标准化(Normalize)所需要数据集的均值和方差实例
Jan 15 #Python
pytorch 图像中的数据预处理和批标准化实例
Jan 15 #Python
pytorch实现特殊的Module--Sqeuential三种写法
Jan 15 #Python
python实现删除列表中某个元素的3种方法
Jan 15 #Python
python opencv根据颜色进行目标检测的方法示例
Jan 15 #Python
Python基于Tensor FLow的图像处理操作详解
Jan 15 #Python
OpenCV哈里斯(Harris)角点检测的实现
Jan 15 #Python
You might like
来自PHP.NET的入门教程
2006/10/09 PHP
TMDPHP 模板引擎使用教程
2012/03/13 PHP
php删除文件夹及其文件夹下所有文件的函数代码
2013/01/23 PHP
解析php获取字符串的编码格式的方法(函数)
2013/06/21 PHP
php中count获取多维数组长度的方法
2014/11/03 PHP
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
2018/04/20 PHP
PHP crypt()函数的用法讲解
2019/02/15 PHP
用Javascript 获取页面元素的位置的代码
2009/09/25 Javascript
在浏览器中获取当前执行的脚本文件名的代码
2011/07/19 Javascript
jquery键盘事件使用介绍
2011/11/01 Javascript
原生js拖拽(第一课 未兼容)拖拽思路
2013/03/29 Javascript
JavaScript调试技巧之console.log()详解
2014/03/19 Javascript
利用javascript实现全部删或清空所选的操作
2014/05/27 Javascript
JavaScript中的分号插入机制详细介绍
2015/02/11 Javascript
深入理解JavaScript系列(39):设计模式之适配器模式详解
2015/03/04 Javascript
jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
2015/12/12 Javascript
jQuery技巧之让任何组件都支持类似DOM的事件管理
2016/04/05 Javascript
Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)
2016/10/25 Javascript
Vue自定义指令介绍(2)
2016/12/08 Javascript
JQuery ZTree使用方法详解
2017/01/07 Javascript
js实现打地鼠小游戏
2017/02/13 Javascript
js css3实现图片拖拽效果
2017/03/04 Javascript
详解Angular-cli生成组件修改css成less或sass的实例
2017/07/27 Javascript
[04:16]完美世界DOTA2联赛PWL S2 集锦第一期
2020/11/23 DOTA
不要用强制方法杀掉python线程
2017/02/26 Python
Python快速查找list中相同部分的方法
2018/06/27 Python
pandas.DataFrame选取/排除特定行的方法
2018/07/03 Python
python使用tcp实现局域网内文件传输
2020/03/20 Python
python模拟实现分发扑克牌
2020/04/22 Python
html5音频_动力节点Java学院整理
2018/08/22 HTML / CSS
苏格兰销售女装、男装和童装的连锁店:M&Co
2018/03/16 全球购物
大学毕业登记表自我鉴定
2013/10/09 职场文书
饭店服务员岗位职责
2015/02/09 职场文书
高中物理教学反思
2016/02/19 职场文书
MySQL之高可用集群部署及故障切换实现
2021/04/22 MySQL
使用Redis做预定库存缓存功能
2022/04/02 Redis