Python字符串处理的8招秘籍(小结)


Posted in Python onAugust 13, 2019

Python的字符串处理,在爬虫的数据解析、大数据的文本清洗,以及普通文件处理等方面应用非常广泛,而且Python对字符串的处理内置了很多高效的函数,功能非常强大、使用非常方便。今天我就把字符串处理时用到最多的方法总结分享给大家,希望大家可以轻松应对字符串处理。

1.字符串的切片和相乘

(1)切片

str='Monday is a busy day' 
print(str[0:7]) #表示取第一个到第七个的字符串 
print(str[-3:]) #表示取从倒数第三个字符开始到结尾的字符串 
print(str[::])  #复制字符串

(2)相乘

当我们编写Python代码时要分隔符,此时用字符串的乘法操作就很容易实现。

line='*'*30 
print(line) 
>>******************************

2.字符串的分割

(1)普通的分割,用split函数,但是split只能做非常简单的分割,而且不支持多个分隔。

phone='400-800-800-1234' 
print(phone.split('-')) 
>>['400', '800', '800', '1234']

(2)复杂的分割,r表示不转义,分隔符可以是「;」,或者「,」,或者空格后面跟0个多个额外的空格,然后按照这个模式去分割。

line='hello world; python, I ,like,  it' 
import re 
print(re.split(r'[;,s]\s*',line)) 
>>>['hello world', 'python', 'I ', 'like', 'it']

3.字符串的连接和合并

(1)连接,两个字符可以很方便的通过“+”连接起来

str1='Hello' 
str2='World' 
new_str=str1+str2 
print(new_str) 
>>>HelloWorld

(2)合并,用join方法

url=['www','python','org'] 
print('.'.join(url)) 
>>>www.python.org

4.判断字符串是否以指定前缀、后缀结尾

假设我们要查一个文件的名字是以什么开头或者什么结尾?

filename='trace.h' 
print(filename.endswith('h')) 
>>True 
print(filename.startswith('trace')) 
>>True

5.字符串的查找和匹配

(1)一般查找

利用find方法可以很方便的在长的字符串里面查找子字符串,会返回字符串所在位置的索引,若找不到返回-1

str1 = "this is string example....wow!!!" 
str2 = "exam" 
print(str1.find(str2))   # 15 
print(str1.find(str2, 10)) # 15 
print(str1.find(str2, 40)) # -1

(2)复杂的匹配,就需要用到正则表达式。

mydate='11/27/2016' 
import re 
if re.match(r'\d+/\d+/\d+',mydate): 
  print('ok.match') 
else: 
  print('not match') 
 
>>>ok.match

6.统计字符串里某个字符出现的次数

str = "thing example....wow!!!" 
print(str.count('i', 0, 5)) # 1 
print(str.count('e')) # 2

7.字符串的替换

(1)普通的替换,用replace方法就可以了

text='python is an easy to learn,powerful programming language.' 
print(text.replace('learn','study')) 
>>>python is an easy to study,powerful programming language.

(2)复杂的替换,需要用到re模块的sub函数

students='Boy 103,girl 105' 
import re 
print(re.sub(r'\d+','100',students)) 
>>>Boy 100,girl 100

8.去掉字符串中一些特定的字符

(1)去空格,对文本处理的时候比如从文件中读取一行,然后需要去除每一行的空格、table或者是换行符。

str = ' python str ' 
print(str) 
# 去首尾空格 
print(str.strip()) 
# 去左侧空格 
print(str.lstrip()) 
# 去右侧空格 
print(str.rstrip())

(2)复杂的文本清理,可以利用str.translate。

比如先构建一个转换表,table是一个翻译表,表示把“to”转成大写的“TO”,然后在old_str里面去掉‘12345',然后剩下的字符串再经过table翻译。

instr = 'to' 
outstr = 'TO' 
old_str = 'Hello world , welcome to use Python. 123456' 
remove = '12345' 
table = str.maketrans(instr,outstr,remove) 
new_str = old_str.translate(table) 
print(new_str) 
>>>HellO wOrld , welcOme TO use PyThOn. 6

总结

平时我们使用Python都是处理一些脚本,其中使用频率最大的就是字符串的处理方面,因此给大家整理了这些常用的字符串处理时使用的方法,希望对大家有用。

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

Python 相关文章推荐
python复制文件的方法实例详解
May 22 Python
Python错误: SyntaxError: Non-ASCII character解决办法
Jun 08 Python
基于hashlib模块--加密(详解)
Jun 21 Python
Python3实现的简单三级菜单功能示例
Mar 12 Python
详解Python计算机视觉 图像扭曲(仿射扭曲)
Mar 27 Python
Pytorch基本变量类型FloatTensor与Variable用法
Jan 08 Python
Python参数传递实现过程及原理详解
May 14 Python
Python中zip函数如何使用
Jun 04 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
Jun 08 Python
浅谈keras中loss与val_loss的关系
Jun 22 Python
python 使用多线程创建一个Buffer缓存器的实现思路
Jul 02 Python
python 邮件检测工具mmpi的使用
Jan 04 Python
python实现批量修改服务器密码的方法
Aug 13 #Python
基于python分析你的上网行为 看看你平时上网都在干嘛
Aug 13 #Python
Python实现微信翻译机器人的方法
Aug 13 #Python
python读写csv文件的方法
Aug 13 #Python
python根据多个文件名批量查找文件
Aug 13 #Python
详解django实现自定义manage命令的扩展
Aug 13 #Python
Python一键安装全部依赖包的方法
Aug 12 #Python
You might like
php限制文件下载速度的代码
2015/10/20 PHP
基于ThinkPHP实现批量删除
2015/12/18 PHP
Yii2选项卡的简单使用
2017/05/26 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
2017/08/04 PHP
php apache开启跨域模式过程详解
2019/07/08 PHP
getElementById在任意一款浏览器中都可以用吗的疑问回复
2007/05/13 Javascript
javascript实现的像java、c#之类的sleep暂停的函数代码
2010/03/04 Javascript
网页中CDATA标记的说明
2010/09/12 Javascript
jQuery实现视频作为全屏幕背景
2014/12/18 Javascript
谈谈js中的prototype及prototype属性解释和常用方法
2015/11/25 Javascript
JQuery实现简单的服务器轮询效果实例
2016/03/31 Javascript
如何解决IONIC页面底部被遮住无法向上滚动问题
2016/09/06 Javascript
js基础之DOM中元素对象的属性方法详解
2016/10/28 Javascript
Bootstrap栅格系统的使用和理解2
2016/12/14 Javascript
简单谈谈原生js的math对象
2017/06/27 Javascript
iscroll.js滚动加载实例详解
2017/07/18 Javascript
详解React Native开源时间日期选择器组件(react-native-datetime)
2017/09/13 Javascript
自定义PC微信扫码登录样式写法
2017/12/12 Javascript
Three.js实现简单3D房间布局
2018/12/30 Javascript
[54:09]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)
2017/08/23 Python
Python中Numpy包的安装与使用方法简明教程
2018/07/03 Python
Python判断一个三位数是否为水仙花数的示例
2018/11/13 Python
Django之PopUp的具体实现方法
2019/08/31 Python
Python Django框架模板渲染功能示例
2019/11/08 Python
python 实时调取摄像头的示例代码
2020/11/25 Python
北美三大旅游网站之一:Travelocity加拿大
2016/08/20 全球购物
去加拿大的旅行和假期:Canadian Affair
2016/10/25 全球购物
乌克兰时尚鞋子和衣服购物网站:Born2be
2018/05/24 全球购物
商务英语本科生的自我评价分享
2013/11/15 职场文书
人力资源部经理助理岗位职责
2014/03/04 职场文书
2014年团队工作总结
2014/11/24 职场文书
2015元旦节寄语
2014/12/08 职场文书
jQuery实现影院选座订座效果
2021/04/13 jQuery
【海涛解说】暗牧也疯狂,牛蛙成配角
2022/04/01 DOTA
PyCharm 配置SSH和SFTP连接远程服务器
2022/05/11 Python