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进行数据科学工作的简单入门教程
Apr 01 Python
Python中的命令行参数解析工具之docopt详解
Mar 27 Python
Django框架实现逆向解析url的方法
Jul 04 Python
Flask框架URL管理操作示例【基于@app.route】
Jul 23 Python
pycharm创建一个python包方法图解
Apr 10 Python
Django基础三之视图函数的使用方法
Jul 18 Python
提升Python效率之使用循环机制代替递归函数
Jul 23 Python
pandas如何处理缺失值
Jul 31 Python
Python对列表的操作知识点详解
Aug 20 Python
Python实现桌面翻译工具【新手必学】
Feb 12 Python
python使用dlib进行人脸检测和关键点的示例
Dec 05 Python
python Scrapy框架原理解析
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
dedecms后台验证码总提示错误的解决方法
2007/03/21 PHP
php中fgetcsv()函数用法实例
2014/11/28 PHP
ecshop 2.72如何修改后台访问地址
2015/03/03 PHP
php生成数字字母的验证码图片
2015/07/14 PHP
php常用数组函数实例小结
2016/12/29 PHP
php删除txt文件指定行及按行读取txt文档数据的方法
2017/01/30 PHP
js判断输入是否为数字的具体实例
2013/08/03 Javascript
简述jQuery ajax的执行顺序
2016/01/05 Javascript
AngularJS国际化详解及示例代码
2016/08/18 Javascript
JavaScript制作简单分页插件
2016/09/11 Javascript
react-native 完整实现登录功能的示例代码
2017/09/11 Javascript
JavaScript事件处理程序详解
2017/09/19 Javascript
利用vue组件自定义v-model实现一个Tab组件方法示例
2017/12/06 Javascript
vue组件横向树实现代码
2018/08/02 Javascript
Python中处理时间的几种方法小结
2015/04/09 Python
简单介绍Python中的round()方法
2015/05/15 Python
完美解决python遍历删除字典里值为空的元素报错问题
2016/09/11 Python
tensorflow 恢复指定层与不同层指定不同学习率的方法
2018/07/26 Python
计算机二级python学习教程(2) python语言基本语法元素
2019/05/16 Python
python3多线程知识点总结
2019/09/26 Python
详解Python3 中的字符串格式化语法
2020/01/15 Python
新手常见Python错误及异常解决处理方案
2020/06/18 Python
keras用auc做metrics以及早停实例
2020/07/02 Python
Python爬取12306车次信息代码详解
2020/08/12 Python
python利用paramiko实现交换机巡检的示例
2020/09/22 Python
CSS3 3D旋转rotate效果实例介绍
2016/05/03 HTML / CSS
HTML5实现自带进度条和滑块滑杆效果
2018/04/17 HTML / CSS
Urban Outfitters美国官网:美国生活方式品牌
2016/08/26 全球购物
char型变量中能不能存贮一个中文汉字
2015/07/08 面试题
综合素质的自我鉴定
2013/10/07 职场文书
《我为你骄傲》教学反思
2014/02/20 职场文书
师德师风演讲稿
2014/05/05 职场文书
护士实习求职信
2014/06/22 职场文书
毕业生爱心捐书倡议书
2015/04/27 职场文书
2015年社区宣传工作总结
2015/05/20 职场文书
2015质检员个人年终工作总结
2015/10/23 职场文书