前言
日常使用python经常要对文本进行处理,无论是爬虫的数据解析,还是大数据的文本清洗,还是普通文件的处理,都是要用到字符串. Python对字符串的处理内置了很多高效的函数,非常方便功能很强大.下面是我总结的常用的7招,有了这几招就能轻松应对字符串处理.
一、字符串的连接和合并
连接和合并
相加 //两个字符串可以很方便的通过'+'连接起来
合并//用join方法
二、字符串的切片和相乘
相乘//比如写代码的时候要分隔符,用python很容易实现
1
2
3
4
5
|
line = '*' * 30 print (line) >> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
切片
三、字符串的分割
普通的分割,用split
split只能做非常简单的分割,而且不支持多个分隔
1
2
3
4
5
|
phone = '400-800-800-1234' print (phone.split( '-' )) >>[ '400' , '800' , '800' , '1234' ] |
复杂的分割
r表示不转义,分隔符可以是;或者,或者空格后面跟0个多个额外的空格,然后按照这个模式去分割
四、字符串的开头和结尾的处理
比方我们要查一个文件的名字是以什么开头或者什么结尾
1
2
3
4
5
6
7
8
9
|
filename = 'trace.h' print (filename.endswith( 'h' )) >> True print (filename.startswith( 'trace' )) >> True |
五、字符串的查找和匹配
一般查找
我们可以很方便的在长的字符串里面查找子字符串,会返回子字符串所在位置的索引, 若找不到返回-1
复杂的匹配
六、字符串的替换
普通的替换//用replace就可以
复杂的替换//若要处理复杂的或者多个的替换,需要用到re模块的sub函数
七、字符串中去掉一些字符
去除空格//对文本处理的时候比如从文件中读取一行,然后需要去除每一行的两侧的空格,table或者是换行符
1
2
3
4
5
|
line = ' Congratulations, you guessed it. ' print (line.strip()) >>Congratulations, you guessed it. |
注意:字符串内部的空格不能去掉,若要去掉需要用re模块
复杂的文本清理,可以利用str.translate
,
先构建一个转换表,table是一个翻译表,表示把't''o'转成大写的'T' 'O',
然后在old_str里面去掉'12345',然后剩下的字符串再经过table翻译
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。
原文链接:https://ask.hellobi.com/blog/caoniao_xueyuan/7062