7招秘籍: 教你玩转Python字符串

作者: 菜鸟学python | 来源:发表于2016-10-17 11:05 被阅读291次

阅读本文大概需要7分钟:

日常使用python经常要对文本进行处理,无论是爬虫的数据解析,还是大数据的文本清洗,还是普通文件的处理,都是要用到字符串. Python对字符串的处理内置了很多高效的函数,非常方便功能很强大.下面是我总结的常用的7招,有了这几招就能轻松应对字符串处理.

1.字符串的连接和合并

连接和合并

相加 //两个字符串可以很方便的通过'+'连接起来

合并//用join方法

2.字符串的切片和相乘

相乘//比如写代码的时候要分隔符,用python很容易实现

line='*'*30

print(line)

>>******************************

切片:

3.字符串的分割

普通的分割,用split

split只能做非常简单的分割,而且不支持多个分隔

phone='400-800-800-1234'

print(phone.split('-'))

>>['400', '800', '800', '1234']

复杂的分割

r表示不转义,分隔符可以是;或者,或者空格后面跟0个多个额外的空格,然后按照这个模式去分割

4.字符串的开头和结尾的处理

比方我们要查一个文件的名字是以什么开头或者什么结尾

filename='trace.h'

print(filename.endswith('h'))

>>True

print(filename.startswith('trace'))

>>True

5.字符串的查找和匹配

一般查找

我们可以很方便的在长的字符串里面查找子字符串,会返回子字符串所在位置的索引, 若找不到返回-1

复杂的匹配

6.字符串的替换

普通的替换//用replace就可以

复杂的替换//若要处理复杂的或者多个的替换,需要用到re模块的sub函数

7.字符串中去掉一些字符

去除空格//对文本处理的时候比如从文件中读取一行,然后需要去除每一行的两侧的空格,table或者是换行符

line='  Congratulations, you guessed it.'

print(line.strip())

>>Congratulations, you guessed it.

注意:字符串内部的空格不能去掉,若要去掉需要用re模块

复杂的文本清理,可以利用str.translate,

先构建一个转换表,table是一个翻译表,表示把't''o'转成大写的'T' 'O',

然后在old_str里面去掉'12345',然后剩下的字符串再经过table翻译

最后说一下,我坚持原创,若我写的对大家有帮助,麻烦大家给个鼓励或者关注一下[菜鸟学python],也是对我的一点鼓励和动力。

https://mp.weixin.qq.com/s?__biz=MzIxNjM4NDE2MA==&mid=2247483698&idx=1&sn=6bcba66df40e2cccec5c186fa9a1f892&scene=19&pass_ticket=W53tT%2B6MVWVwzC30tPUQzz0vXen2rhYNq%2FojfU1Y4GfoxU9luaNmsFVoCZk0TWkY

相关文章

网友评论

  • 让数据告诉你:最后面那个提示这个:module 'string' has no attribute 'maketrans',要怎么处理呢
  • 王简书:感谢!!!学到很多
  • 道却春风不拂面:楼主这是用什么写的代码?界面挺好看
    道却春风不拂面: @菜鸟学python print 后就能直接出结果?
    菜鸟学python:@不喝酒的酒晕子 是用sublime text :http://mp.weixin.qq.com/s?__biz=MzIxNjM4NDE2MA==&mid=2247483665&idx=1&sn=57f0799069819ace56718b1751673dd7&scene=19#wechat_redirect
    菜鸟学python:是用sublime text,我写了一篇文章关于这个编辑器http://mp.weixin.qq.com/s?__biz=MzIxNjM4NDE2MA==&mid=2247483665&idx=1&sn=57f0799069819ace56718b1751673dd7&scene=19#wechat_redirect

本文标题:7招秘籍: 教你玩转Python字符串

本文链接:https://www.haomeiwen.com/subject/xpiayttx.html