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生成验证码实例
Aug 21 Python
数据挖掘之Apriori算法详解和Python实现代码分享
Nov 07 Python
Java中重定向输出流实现用文件记录程序日志
Jun 12 Python
Django自定义分页与bootstrap分页结合
Feb 22 Python
Python用for循环实现九九乘法表
May 31 Python
Django 中使用流响应处理视频的方法
Jul 20 Python
python3实现爬取淘宝美食代码分享
Sep 23 Python
解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题
Jan 15 Python
python爬虫模块URL管理器模块用法解析
Feb 03 Python
使用scrapy ImagesPipeline爬取图片资源的示例代码
Sep 28 Python
Django+Celery实现定时任务的示例
Jun 23 Python
python面向对象版学生信息管理系统
Jun 24 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获取网卡地址的代码
2008/04/09 PHP
PHP Undefined index报错的修复方法
2011/07/17 PHP
php读取excel文件的简单实例
2013/08/26 PHP
PHP中批量生成静态html(命令行下运行PHP)
2014/04/19 PHP
Yii2结合Workerman的websocket示例详解
2018/09/10 PHP
js 编码转换 gb2312 和 utf8 互转的2种方法
2013/08/07 Javascript
jquery自动切换tabs选项卡的具体实现
2013/12/24 Javascript
bootstrap改变按钮加载状态
2014/12/01 Javascript
jQuery插件jcrop+Fileapi完美实现图片上传+裁剪+预览的代码分享
2015/04/22 Javascript
BootStrap和jQuery相结合实现可编辑表格
2016/04/21 Javascript
JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍
2016/11/10 Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
2017/01/14 Javascript
使用ionic播放轮询广告的实现方法(必看)
2017/04/24 Javascript
详解Vue组件之间的数据通信实例
2017/06/17 Javascript
JS实现的ajax和同源策略(实例讲解)
2017/12/01 Javascript
Angular4学习笔记router的简单使用
2018/03/30 Javascript
Vuex 使用及简单实例(计数器)
2018/08/29 Javascript
JavaScript中十种一步拷贝数组的方法实例详解
2019/04/22 Javascript
微信小程序基于movable-view实现滑动删除效果
2020/01/08 Javascript
浅谈vue生命周期共有几个阶段?分别是什么?
2020/08/07 Javascript
[59:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第二局
2016/03/04 DOTA
[00:12]DAC2018 Miracle-站上中单舞台,他能否再写奇迹?
2018/04/06 DOTA
Python使用wget实现下载网络文件功能示例
2018/05/31 Python
解决vscode python print 输出窗口中文乱码的问题
2018/12/03 Python
Python下应用opencv 实现人脸检测功能
2019/10/24 Python
如何基于线程池提升request模块效率
2020/04/18 Python
html5/css3响应式页面开发总结
2018/10/16 HTML / CSS
Rockport乐步美国官网:风靡美国的白宫鞋
2016/11/24 全球购物
个人求职简历的自我评价范文
2013/10/09 职场文书
小区门卫岗位职责
2013/12/31 职场文书
《台湾的蝴蝶谷》教学反思
2014/02/20 职场文书
2014法制宣传日活动总结范文
2014/11/01 职场文书
2014年德育工作总结
2014/11/20 职场文书
社区好人好事材料
2014/12/26 职场文书
2016年母亲节广告语
2016/01/28 职场文书
详解MySQL的半同步
2021/04/22 MySQL