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使用迭代器打印螺旋矩阵的思路及代码示例
Jul 02 Python
flask中主动抛出异常及统一异常处理代码示例
Jan 18 Python
python爬虫中get和post方法介绍以及cookie作用
Feb 08 Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
Jun 27 Python
python一键去抖音视频水印工具
Sep 14 Python
浅析python的Lambda表达式
Feb 27 Python
python使用百度文字识别功能方法详解
Jul 23 Python
Python递归函数 二分查找算法实现解析
Aug 12 Python
Python使用matplotlib 模块scatter方法画散点图示例
Sep 27 Python
python百行代码自制电脑端网速悬浮窗的实现
May 12 Python
在pycharm中关掉ipython console/PyDev操作
Jun 09 Python
Python reques接口测试框架实现代码
Jul 28 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/02/16 PHP
用js实现的抽象CSS圆角效果!!
2007/05/03 Javascript
Javascript面向对象编程(三) 非构造函数的继承
2011/08/28 Javascript
javascript去掉前后空格的实例
2013/11/07 Javascript
点击标签切换和自动切换DIV选项卡
2014/08/10 Javascript
AngularJS中如何使用$http对MongoLab数据表进行增删改查
2016/01/23 Javascript
javascript拖拽效果延伸学习
2016/04/04 Javascript
很酷的星级评分系统原生JS实现
2016/08/25 Javascript
AngularJS动态绑定ng-options的ng-model实例代码
2017/06/21 Javascript
Angular4学习笔记之准备和环境搭建项目
2017/08/01 Javascript
JavaScript定义函数的三种实现方法
2017/09/23 Javascript
JS笛卡尔积算法与多重数组笛卡尔积实现方法示例
2017/12/01 Javascript
js图数据结构处理 迪杰斯特拉算法代码实例
2019/09/11 Javascript
判断JavaScript中的两个变量是否相等的操作符
2019/12/21 Javascript
JQuery中DOM节点的操作与访问方法实例分析
2019/12/23 jQuery
在VUE style中使用data中的变量的方法
2020/06/19 Javascript
vue实现虚拟列表功能的代码
2020/07/28 Javascript
[57:36]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第三场 2月1日
2021/03/11 DOTA
Python将图片批量从png格式转换至WebP格式
2020/08/22 Python
python进阶_浅谈面向对象进阶
2017/08/17 Python
Python 离线工作环境搭建的方法步骤
2019/07/29 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
2020/01/08 Python
Python Sphinx使用实例及问题解决
2020/01/17 Python
基于Tensorflow的MNIST手写数字识别分类
2020/06/17 Python
python SOCKET编程基础入门
2021/02/27 Python
英国领先的品牌珠宝和配件供应商:Acotis Jewellery
2018/03/07 全球购物
德国传统玻璃制造商:Cristalica
2018/04/23 全球购物
户籍证明的格式
2014/01/13 职场文书
农村婚庆司仪主持词
2014/03/15 职场文书
媒体宣传策划方案
2014/05/25 职场文书
2014年安置帮教工作总结
2014/12/11 职场文书
python 逐步回归算法
2021/04/06 Python
python 利用 PIL 将数组值转成图片的实现
2021/04/12 Python
golang正则之命名分组方式
2021/04/25 Golang
pytorch查看网络参数显存占用量等操作
2021/05/12 Python
Python使用PyYAML库读写yaml文件的方法
2022/04/06 Python