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实现的解析crontab配置文件代码
Jun 30 Python
python中from module import * 的一个坑
Jul 20 Python
python编写简单爬虫资料汇总
Mar 22 Python
Python使用functools模块中的partial函数生成偏函数
Jul 02 Python
对Python进行数据分析_关于Package的安装问题
May 22 Python
对Python3.x版本print函数左右对齐详解
Dec 22 Python
Pytorch加载部分预训练模型的参数实例
Aug 18 Python
python爬虫开发之使用Python爬虫库requests多线程抓取猫眼电影TOP100实例
Mar 10 Python
Matplotlib使用Cursor实现UI定位的示例代码
Mar 12 Python
使用python实现飞机大战游戏
Mar 23 Python
用python计算文件的MD5值
Dec 23 Python
Python中for后接else的语法使用
May 18 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
flash用php连接数据库的代码
2011/04/21 PHP
php中选择什么接口(mysql、mysqli)访问mysql
2013/02/06 PHP
json的键名为数字时的调用方式(示例代码)
2013/11/15 PHP
PHP列出MySQL中所有数据库的方法
2015/03/12 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
JavaScript 对象、函数和继承
2009/07/07 Javascript
asp(javascript)全角半角转换代码 dbc2sbc
2009/08/06 Javascript
jquery 屏蔽一个区域内的所有元素,禁止输入
2009/10/22 Javascript
JavaScript中yield实用简洁实现方式
2010/06/12 Javascript
从零开始学习jQuery (十) jQueryUI常用功能实战
2011/02/23 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
2013/08/16 Javascript
基于jQuery实现放大镜特效
2020/10/19 Javascript
基于javascript实现根据身份证号码识别性别和年龄
2016/01/22 Javascript
解析Javascript单例模式概念与实例
2016/12/05 Javascript
基于vue2的table分页组件实现方法
2017/03/20 Javascript
js使用原型对象(prototype)需要注意的地方
2017/08/28 Javascript
JavaScript函数节流和函数去抖知识点学习
2018/07/31 Javascript
Vue动态加载图片在跨域时无法显示的问题及解决方法
2020/03/10 Javascript
基于js实现数组相邻元素上移下移
2020/05/19 Javascript
Python 类与元类的深度挖掘 II【经验】
2016/05/06 Python
python定时复制远程文件夹中所有文件
2019/04/30 Python
python 的 openpyxl模块 读取 Excel文件的方法
2019/09/09 Python
opencv设置采集视频分辨率方式
2019/12/10 Python
Python unittest框架操作实例解析
2020/04/13 Python
Python将QQ聊天记录生成词云的示例代码
2021/02/10 Python
CSS3 实现雷达扫描图的示例代码
2020/09/21 HTML / CSS
详解px单位html5响应式方案
2018/03/08 HTML / CSS
土木工程建筑专业毕业生求职信
2013/10/21 职场文书
《维生素c的故事》教学反思
2014/02/18 职场文书
论文诚信承诺书
2014/05/23 职场文书
找工作求职信
2014/07/07 职场文书
2014年后勤管理工作总结
2014/12/01 职场文书
校园文化艺术节开幕词
2016/03/04 职场文书
SONY AN-LP1 短波有源天线放大器
2021/04/22 无线电
python字典的元素访问实例详解
2021/07/21 Python
Spring IOC容器Bean的作用域及生命周期实例
2022/05/30 Java/Android