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中os.path用法分析
Jan 15 Python
在Python的Django框架中显示对象子集的方法
Jul 21 Python
Python实现找出数组中第2大数字的方法示例
Mar 26 Python
详谈Numpy中数组重塑、合并与拆分方法
Apr 17 Python
python字符串分割及字符串的一些常规方法
Jul 24 Python
pytorch 共享参数的示例
Aug 17 Python
Django框架 Pagination分页实现代码实例
Sep 04 Python
python3 常见解密加密算法实例分析【base64、MD5等】
Dec 19 Python
Django使用Celery加redis执行异步任务的实例内容
Feb 20 Python
pandas to_excel 添加颜色操作
Jul 14 Python
python代码实现猜拳小游戏
Nov 30 Python
pytorch 中autograd.grad()函数的用法说明
May 12 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版 汉字转码的实现详解
2013/06/09 PHP
PHP对象递归引用造成内存泄漏分析
2014/08/28 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
2014/11/12 PHP
PHP针对JSON操作实例分析
2015/01/12 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
2018/10/15 PHP
php多进程中的阻塞与非阻塞操作实例分析
2020/03/04 PHP
js 数组实现一个类似ruby的迭代器
2009/10/27 Javascript
一个简单的JS时间控件示例代码(JS时分秒时间控件)
2013/11/22 Javascript
JQUERY 设置SELECT选中项代码
2014/02/07 Javascript
jQuery实现列表自动滚动循环滚动展示新闻
2014/08/22 Javascript
js显示文本框提示文字的方法
2015/05/07 Javascript
javascript与jquery中的this关键字用法实例分析
2015/12/24 Javascript
实现easyui的datagrid导出为excel的示例代码
2016/11/10 Javascript
清除输入框内的空格
2016/12/21 Javascript
Extjs让combobox写起来简洁又漂亮
2017/01/05 Javascript
详解Vue使用命令行搭建单页面应用
2017/05/24 Javascript
jQuery实现的上传图片本地预览效果简单示例
2018/03/29 jQuery
微信小程序实现banner图轮播效果
2020/06/28 Javascript
一文了解vue-router之hash模式和history模式
2019/05/31 Javascript
Vuejs中的watch实例详解(监听者)
2020/01/05 Javascript
Python去除、替换字符串空格的处理方法
2018/04/01 Python
Python SVM(支持向量机)实现方法完整示例
2018/06/19 Python
对pandas将dataframe中某列按照条件赋值的实例讲解
2018/11/29 Python
Python 使用Numpy对矩阵进行转置的方法
2019/01/28 Python
python接口自动化测试之接口数据依赖的实现方法
2019/04/26 Python
python函数与方法的区别总结
2019/06/23 Python
详解python tkinter模块安装过程
2020/01/06 Python
使用Django和Postgres进行全文搜索的实例代码
2020/02/13 Python
浅谈python出错时traceback的解读
2020/07/15 Python
阿拉伯世界最大的电子商务网站:Souq沙特阿拉伯
2016/10/28 全球购物
JAVA中的关键字有什么特点
2014/03/07 面试题
婚礼秀策划方案
2014/05/19 职场文书
工资收入证明样本(5篇)
2014/09/16 职场文书
门市房租房协议书
2014/12/04 职场文书
医院感染管理制度
2015/08/05 职场文书
详解python字符串驻留技术
2021/05/21 Python