教大家玩转Python字符串处理的七种技巧

yipeiwu_com5年前Python基础

前言

日常使用python经常要对文本进行处理,无论是爬虫的数据解析,还是大数据的文本清洗,还是普通文件的处理,都是要用到字符串. Python对字符串的处理内置了很多高效的函数,非常方便功能很强大.下面是我总结的常用的7招,有了这几招就能轻松应对字符串处理.

一、字符串的连接和合并

连接和合并

相加 //两个字符串可以很方便的通过'+'连接起来

合并//用join方法

二、字符串的切片和相乘

相乘//比如写代码的时候要分隔符,用python很容易实现

line='*'*30

print(line)

>>******************************

切片

三、字符串的分割

普通的分割,用split

split只能做非常简单的分割,而且不支持多个分隔

phone='400-800-800-1234'

print(phone.split('-'))

>>['400', '800', '800', '1234']

复杂的分割

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

四、字符串的开头和结尾的处理

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

filename='trace.h'

print(filename.endswith('h'))

>>True

print(filename.startswith('trace'))

>>True

五、字符串的查找和匹配

一般查找

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

复杂的匹配

六、字符串的替换

普通的替换//用replace就可以

复杂的替换//若要处理复杂的或者多个的替换,需要用到re模块的sub函数

七、字符串中去掉一些字符

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

line=' Congratulations, you guessed it. '

print(line.strip())

>>Congratulations, you guessed it.

注意:字符串内部的空格不能去掉,若要去掉需要用re模块

复杂的文本清理,可以利用str.translate

先构建一个转换表,table是一个翻译表,表示把't''o'转成大写的'T' 'O',

然后在old_str里面去掉'12345',然后剩下的字符串再经过table翻译

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对【听图阁-专注于Python设计】的支持。

相关文章

django框架基于queryset和双下划线的跨表查询操作详解

django框架基于queryset和双下划线的跨表查询操作详解

本文实例讲述了django框架基于queryset和双下划线的跨表查询操作。分享给大家供大家参考,具体如下: 前面篇随笔写的是基于对象的跨表查询:对象.objects.filter(。。...

pandas分区间,算频率的实例

pandas分区间,算频率的实例

如下所示: import pandas as pd path='F:/python/python数据分析与挖掘实战/图书配套数据、代码/chapter3/demo/data/cate...

简单了解Python下用于监视文件系统的pyinotify包

什么是inotify:   Inotify是一个事件驱动的通知机制,Inotify 提供一个简单的API,使用最小的文件描述符,并且允许细粒度监控。与 inotify 的...

Pyhthon中使用compileall模块编译源文件为pyc文件

有的时候我们需要把项目中.py的python所有源文件编译成.pyc文件,只保留.pyc文件然后发布给别人(虽然说可以反编译,但也算是一种保护把). 这个时候就可以使用compileal...

详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)

详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)

Django项目中模板标签及模板的继承与引用 常见模板标签 {% static %} {% for x in range(x) %}{% endfor %} 循环的序号{% forl...