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之自动获取公网IP的实例讲解
Oct 01 Python
python利用smtplib实现QQ邮箱发送邮件
May 20 Python
对python dataframe逻辑取值的方法详解
Jan 30 Python
Pytorch修改ResNet模型全连接层进行直接训练实例
Sep 10 Python
python科学计算之narray对象用法
Nov 25 Python
Django项目使用ckeditor详解(不使用admin)
Dec 17 Python
PyCharm第一次安装及使用教程
Jan 08 Python
Python利用Scrapy框架爬取豆瓣电影示例
Jan 17 Python
浅谈Tensorflow 动态双向RNN的输出问题
Jan 20 Python
利用python中集合的唯一性实现去重
Feb 11 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
Oct 14 Python
Python 中的单分派泛函数你真的了解吗
Jun 22 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
手把手教你使用DedeCms的采集的图文教程
2007/03/11 PHP
PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
2012/05/07 PHP
php实现memcache缓存示例讲解
2013/12/04 PHP
PHP移动文件指针ftell()、fseek()、rewind()函数总结
2014/11/18 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
2016/03/06 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
2019/11/23 PHP
javascript radio 联动效果
2009/03/04 Javascript
javascript 鼠标拖动图标技术
2010/02/07 Javascript
基于jquery插件编写countdown计时器
2016/06/12 Javascript
老生常谈 js中this的指向
2016/06/30 Javascript
D3.js封装文本实现自动换行和旋转平移等功能
2016/10/14 Javascript
Three.js获取鼠标点击的三维坐标示例代码
2017/03/24 Javascript
JavaScript装饰器函数(Decorator)实例详解
2017/03/30 Javascript
微信小程序使用for循环动态渲染页面操作示例
2018/12/25 Javascript
微信小程序webview实现长按点击识别二维码功能示例
2019/01/24 Javascript
JavaScript 俄罗斯方块游戏实现方法与代码解释
2020/04/08 Javascript
JavaScript实现网页动态生成表格
2020/11/25 Javascript
[02:42]2014DOTA2国际邀请赛 三冰专访:我会打到Ti20
2014/07/13 DOTA
wxPython中文教程入门实例
2014/06/09 Python
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
2018/03/23 Python
Python爬虫实现(伪)球迷速成
2018/06/10 Python
python 基本数据类型占用内存空间大小的实例
2018/06/12 Python
python+selenium实现自动化百度搜索关键词
2019/06/03 Python
Django单元测试工具test client使用详解
2019/08/02 Python
Python使用import导入本地脚本及导入模块的技巧总结
2019/08/07 Python
Python函数中的可变长参数详解
2019/09/12 Python
python对XML文件的操作实现代码
2020/03/27 Python
Python3安装模块报错Microsoft Visual C++ 14.0 is required的解决方法
2020/07/28 Python
机关财务管理制度
2014/01/17 职场文书
大学生军训自我鉴定范文
2014/09/18 职场文书
维稳工作承诺书
2015/01/20 职场文书
教师节简报
2015/07/20 职场文书
导游词之无锡丝业博物馆
2019/11/12 职场文书
如何在C++中调用Python
2021/05/21 Python
正则表达式基础与常用验证表达式
2022/06/16 Javascript