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删除列表中重复记录的方法
Apr 28 Python
python生成随机密码或随机字符串的方法
Jul 03 Python
使用python加密自己的密码
Aug 04 Python
Python 探针的实现原理
Apr 23 Python
Python用zip函数同时遍历多个迭代器示例详解
Nov 14 Python
python django下载大的csv文件实现方法分析
Jul 19 Python
python爬虫解决验证码的思路及示例
Aug 01 Python
Python生成六万个随机,唯一的8位数字和数字组成的随机字符串实例
Mar 03 Python
使用python执行shell脚本 并动态传参 及subprocess的使用详解
Mar 06 Python
Python第三方库的几种安装方式(小结)
Apr 03 Python
Jupyter安装链接aconda实现过程图解
Nov 02 Python
python实现企业微信定时发送文本消息的实例代码
Nov 25 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
Windows7下PHP开发环境安装配置图文方法
2010/05/20 PHP
php利用新浪接口查询ip获取地理位置示例
2014/01/20 PHP
完美解决在ThinkPHP控制器中命名空间的问题
2017/05/05 PHP
PHP使用OB缓存实现静态化功能示例
2019/03/23 PHP
js如何调用qq互联api实现第三方登录
2014/03/28 Javascript
jQuery的缓存机制浅析
2014/06/07 Javascript
Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法
2014/08/15 Javascript
node.js使用require()函数加载模块
2014/11/26 Javascript
jquery彩色投票进度条简单实例演示
2020/07/23 Javascript
JS动态给对象添加事件的简单方法
2016/07/19 Javascript
D3.js实现柱状图的方法详解
2016/09/21 Javascript
JavaScript定时器实现的原理分析
2016/12/06 Javascript
JavaScript获取URL参数的方法之一
2017/03/24 Javascript
微信小程序之获取当前位置经纬度以及地图显示详解
2017/05/09 Javascript
Angularjs实现下拉框联动的示例代码
2017/08/22 Javascript
vue cli构建的项目中请求代理与项目打包问题
2018/02/26 Javascript
基于element-ui的rules中正则表达式
2018/09/04 Javascript
vue解决使用$http获取数据时报错的问题
2019/10/30 Javascript
vue中template的三种写法示例
2020/10/21 Javascript
JavaScript实现简易计算器小功能
2020/10/22 Javascript
[47:36]Optic vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python中的文件和目录操作实现代码
2011/03/13 Python
详解python中的 is 操作符
2017/12/26 Python
酷! 程序员用Python带你玩转冲顶大会
2018/01/17 Python
教你利用Python玩转histogram直方图的五种方法
2018/07/30 Python
python列表,字典,元组简单用法示例
2019/07/11 Python
python解释器安装教程的方法步骤
2020/07/02 Python
Python Matplotlib绘图基础知识代码解析
2020/08/31 Python
Fabletics官网:美国运动服饰品牌,由好莱坞女演员凯特·哈德森创立
2019/10/19 全球购物
教师职业道德事迹材料
2014/08/18 职场文书
小学班主任事迹材料
2014/12/17 职场文书
教师节获奖感言
2015/07/31 职场文书
2016年端午节校园广播稿
2015/12/18 职场文书
nginx 防盗链防爬虫配置详解
2021/03/31 Servers
python异常中else的实例用法
2021/06/15 Python
MySQL新手入门进阶语句汇总
2022/09/23 MySQL