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如何实现excel数据添加到mongodb
Jul 30 Python
Python下rrdtool模块的基本使用方法
Nov 13 Python
python logging 日志轮转文件不删除问题的解决方法
Aug 02 Python
python 类详解及简单实例
Mar 24 Python
详解Python中where()函数的用法
Mar 27 Python
python3.6利用pyinstall打包py为exe的操作实例
Oct 31 Python
python调用自定义函数的实例操作
Jun 26 Python
Django打印出在数据库中执行的语句问题
Jul 25 Python
python随机模块random使用方法详解
Feb 14 Python
python except异常处理之后不退出,解决异常继续执行的实现
Apr 25 Python
pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)
May 09 Python
python urllib和urllib3知识点总结
Feb 08 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模板技术[转]
2007/01/04 PHP
实现了一个PHP5的getter/setter基类的代码
2007/02/25 PHP
PHP 变量定义和变量替换的方法
2009/07/30 PHP
yii上传文件或图片实例
2014/04/01 PHP
CodeIgniter中实现泛域名解析
2014/07/19 PHP
可以文本显示的公告栏的js代码
2007/03/11 Javascript
33个优秀的 jQuery 图片展示插件分享
2012/03/14 Javascript
js 获取后台的字段 改变 checkbox的被选中的状态 代码
2013/06/05 Javascript
表单提交前触发函数返回true表单才会提交
2014/03/11 Javascript
原生JS实现响应式瀑布流布局
2015/04/02 Javascript
jQuery实现仿腾讯微博滑出效果报告每日天气的方法
2015/05/11 Javascript
javascript获取文档坐标和视口坐标
2015/05/26 Javascript
理解javascript模块化
2016/03/28 Javascript
利用angular.copy取消变量的双向绑定与解析
2016/11/25 Javascript
详解nodejs 文本操作模块-fs模块(三)
2016/12/22 NodeJs
vue 2.0路由之路由嵌套示例详解
2017/05/08 Javascript
详解Node.js项目APM监控之New Relic
2017/05/12 Javascript
Vue组件之极简的地址选择器的实现
2018/05/31 Javascript
nodejs中实现修改用户路由功能
2019/05/24 NodeJs
vue表单数据交互提交演示教程
2019/11/13 Javascript
解决node.js含有%百分号时发送get请求时浏览器地址自动编码的问题
2019/11/20 Javascript
vue中使用v-for时为什么不能用index作为key
2020/04/04 Javascript
JS实现购物车基本功能
2020/11/08 Javascript
[01:29]Ti4循环赛第三日精彩回顾
2014/07/13 DOTA
[48:41]VP vs VG Supermajor小组赛 B组胜者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
基于wxpython开发的简单gui计算器实例
2015/05/30 Python
Python实现快速排序和插入排序算法及自定义排序的示例
2016/02/16 Python
Python随机生成手机号、数字的方法详解
2017/07/21 Python
Python读取实时数据流示例
2019/12/02 Python
Python3.9.0 a1安装pygame出错解决全过程(小结)
2021/02/02 Python
amazeui页面分析之登录页面的示例代码
2020/08/25 HTML / CSS
购买瑞典当代设计的腕表和太阳眼镜:TRIWA
2016/10/30 全球购物
课前一分钟演讲稿
2014/08/26 职场文书
信用卡逾期证明示例
2014/09/13 职场文书
2014年企业员工工作总结
2014/12/09 职场文书
晚会开幕词
2015/01/28 职场文书