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操作时间和日期之asctime()方法的使用
May 22 Python
Python函数中的函数(闭包)用法实例
Mar 15 Python
Python机器学习logistic回归代码解析
Jan 17 Python
python发送邮件脚本
May 22 Python
使用Python和OpenCV检测图像中的物体并将物体裁剪下来
Oct 30 Python
Python callable内置函数原理解析
Mar 05 Python
什么是Python包的循环导入
Sep 08 Python
Python selenium实现断言3种方法解析
Sep 08 Python
Python timeit模块原理及使用方法
Oct 10 Python
Python爬虫入门教程01之爬取豆瓣Top电影
Jan 24 Python
Python的轻量级ORM框架peewee使用教程
Feb 05 Python
如何理解及使用Python闭包
Jun 01 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
第二节--PHP5 的对象模型
2006/11/16 PHP
php array_intersect()函数使用代码
2009/01/14 PHP
PHP 函数call_user_func和call_user_func_array用法详解
2014/03/02 PHP
smarty模板中使用get、post、request、cookies、session变量的方法
2014/04/24 PHP
thinkphp3.x中display方法及show方法的用法实例
2016/05/19 PHP
Laravel学习教程之从入口到输出过程详解
2017/08/27 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
2020/04/13 PHP
锋利的jQuery 第三章章节总结的例子
2010/03/23 Javascript
一段批量给页面上的控件赋值js
2010/06/19 Javascript
window.open关于浏览器拦截问题分析及解决方法
2013/02/05 Javascript
JavaScript实现复制功能各浏览器支持情况实测
2013/07/18 Javascript
js实现有过渡渐变效果的图片轮播相册(兼容IE,ff)
2016/01/19 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
2016/05/31 Javascript
DropDownList实现可输入可选择(两种版本可选)
2016/12/07 Javascript
JQuery查找子元素find()和遍历集合each的方法总结
2017/03/07 Javascript
javascript实现二叉树的代码
2017/06/08 Javascript
layui 选择列表,打勾,点击确定返回数据的例子
2019/09/02 Javascript
JS FormData对象使用方法实例详解
2020/02/12 Javascript
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
Python写的服务监控程序实例
2015/01/31 Python
Python实现时钟显示效果思路详解
2018/04/11 Python
使用Python进行QQ批量登录的实例代码
2018/06/11 Python
python 实现对数据集的归一化的方法(0-1之间)
2018/07/17 Python
Python 图像处理: 生成二维高斯分布蒙版的实例
2019/07/04 Python
Python 调用 Windows API COM 新法
2019/08/22 Python
解决ROC曲线画出来只有一个点的问题
2020/02/28 Python
基于html5 DeviceOrientation 实现微信摇一摇功能
2015/09/25 HTML / CSS
MCM英国官网:奢侈皮具制品
2017/04/18 全球购物
Clarria化妆品官方网站:购买天然和有机化妆品系列
2018/04/08 全球购物
The Beach People美国:澳洲海滨奢华品牌
2018/07/05 全球购物
俄罗斯奢侈品牌衣服、鞋子和配饰的在线商店:INTERMODA
2020/07/17 全球购物
股东协议书
2014/04/14 职场文书
临床专业自荐信
2014/06/22 职场文书
升职自我推荐信范文
2015/03/25 职场文书
加班费申请报告
2015/05/15 职场文书
十二生肖观后感
2015/06/12 职场文书