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 字符串定义
Sep 25 Python
python 实现归并排序算法
Jun 05 Python
在Python中操作日期和时间之gmtime()方法的使用
May 22 Python
python3实现随机数
Jun 25 Python
numpy.linspace 生成等差数组的方法
Jul 02 Python
python调用虹软2.0第三版的具体使用
Feb 22 Python
pyqt5与matplotlib的完美结合实例
Jun 21 Python
python读取指定字节长度的文本方法
Aug 27 Python
Python如何实现强制数据类型转换
Nov 22 Python
20行Python代码实现视频字符化功能
Apr 13 Python
python virtualenv虚拟环境配置与使用教程详解
Jul 13 Python
Python descriptor(描述符)的实现
Nov 15 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在线生成ico文件的代码
2007/10/09 PHP
apache+php+mysql安装配置方法小结
2010/08/01 PHP
php页面跳转代码 输入网址跳转到你定义的页面
2013/03/28 PHP
php短网址和数字之间相互转换的方法
2015/03/13 PHP
分享php分页的功能模块
2015/06/16 PHP
PHP使用逆波兰式计算工资的方法
2015/07/29 PHP
yii2中dropDownList实现二级和三级联动写法
2017/04/26 PHP
用PHP去掉文件头的Unicode签名(BOM)方法
2017/06/22 PHP
js页面跳转常用的几种方式
2010/11/25 Javascript
JS实现匀速运动的代码实例
2013/11/29 Javascript
jQuery - css() 方法示例详解
2014/01/16 Javascript
javascript在IE下trim函数无法使用的解决方法
2014/09/12 Javascript
javascript显示上周、上个月日期的处理方法
2016/02/03 Javascript
JS解析url查询参数的简单代码
2017/08/06 Javascript
Node.js一行代码实现静态文件服务器的方法步骤
2019/05/07 Javascript
layui扩展上传组件模拟进度条的方法
2019/09/23 Javascript
webpack的pitching loader详解
2019/09/23 Javascript
H5 js点击按钮复制文本到粘贴板
2020/11/19 Javascript
浅析Python中的序列化存储的方法
2015/04/28 Python
浅谈python编译pyc工程--导包问题解决
2019/03/20 Python
python装饰器常见使用方法分析
2019/06/26 Python
pandas read_excel()和to_excel()函数解析
2019/09/19 Python
PyCharm中如何直接使用Anaconda已安装的库
2020/05/28 Python
利用HTML5 Canvas制作键盘及鼠标动画的实例分享
2016/03/15 HTML / CSS
游戏商店:Eneba
2020/04/25 全球购物
艺术设计专业个人求职信
2014/04/10 职场文书
青年标兵事迹材料
2014/08/16 职场文书
竞选学习委员演讲稿
2014/09/01 职场文书
自我检讨书怎么写
2015/05/07 职场文书
毕业论文指导老师意见
2015/06/04 职场文书
严以律己专题学习研讨会发言材料
2015/11/09 职场文书
银行岗位培训心得体会
2016/01/09 职场文书
2016年世界艾滋病日宣传活动总结
2016/04/01 职场文书
pytorch中[..., 0]的用法说明
2021/05/20 Python
python plt.plot bar 如何设置绘图尺寸大小
2021/06/01 Python
关于nginx 实现jira反向代理的问题
2021/09/25 Servers