教大家玩转Python字符串处理的七种技巧
前言
日常使用python经常要对文本进行处理,无论是爬虫的数据解析,还是大数据的文本清洗,还是普通文件的处理,都是要用到字符串. Python对字符串的处理内置了很多高效的函数,非常方便功能很强大.下面是我总结的常用的7招,有了这几招就能轻松应对字符串处理.
一、字符串的连接和合并
连接和合并
相加 //两个字符串可以很方便的通过'+'连接起来
合并//用join方法
二、字符串的切片和相乘
相乘//比如写代码的时候要分隔符,用python很容易实现
line='*'*30 print(line) >>******************************
切片
三、字符串的分割
普通的分割,用split
split只能做非常简单的分割,而且不支持多个分隔
phone='400-800-800-1234' print(phone.split('-')) >>['400', '800', '800', '1234']
复杂的分割
r表示不转义,分隔符可以是;或者,或者空格后面跟0个多个额外的空格,然后按照这个模式去分割
四、字符串的开头和结尾的处理
比方我们要查一个文件的名字是以什么开头或者什么结尾
filename='trace.h' print(filename.endswith('h')) >>True print(filename.startswith('trace')) >>True
五、字符串的查找和匹配
一般查找
我们可以很方便的在长的字符串里面查找子字符串,会返回子字符串所在位置的索引, 若找不到返回-1
复杂的匹配
六、字符串的替换
普通的替换//用replace就可以
复杂的替换//若要处理复杂的或者多个的替换,需要用到re模块的sub函数
七、字符串中去掉一些字符
去除空格//对文本处理的时候比如从文件中读取一行,然后需要去除每一行的两侧的空格,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翻译
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。
相关推荐
-
详解Golang 与python中的字符串反转
详解Golang 与python中的字符串反转 在go中,需要用rune来处理,因为涉及到中文或者一些字符ASCII编码大于255的. func main() { fmt.Println(reverse("Golang python")) } func reverse(src string) string { dst := []rune(src) len := len(dst) var result []rune result = make([]rune, 0) for i := le
-
Python变量和字符串详解
几个月前,我开始学习个人形象管理,从发型.妆容.服饰到仪表仪态,都开始做全新改造,在塑造个人风格时,最基础的是先了解自己属于哪种风格,然后找到参考对象去模仿,可以是自己欣赏的人.明星或模特等,直至最后去创新,形成自己独特的个人风格. 学习Python也是一样.开始学习一门新的语言,最便捷的方法是去模仿,继而在模仿中出创新.在初期模仿的过程中,务必要做到亲自敲下每一行代码,打出每一个标点符号,而不是简单的一目十行,不实际操作,这样即使看完整本书,或许依然写不出程序. 这是关于Python的第2篇文
-
python 字符串转列表 list 出现\ufeff的解决方法
如下所示: #文件内容 lisi lock = open("lock_info.txt", "r+",encoding="utf-8") lock_line = lock.readline() lock_list = lock_line.split(",") print(lock_list) y = lock_line.encode('utf-8').decode('utf-8-sig') print(y) #打印结果如下 [
-
Python实现字符串逆序输出功能示例
本文实例讲述了Python实现字符串逆序输出功能.分享给大家供大家参考,具体如下: 1.有时候我们可能想让字符串倒序输出,下面给出几种方法 方法一:通过索引的方法 >>> strA = "abcdegfgijlk" >>> strA[::-1] 'kljigfgedcba' 方法二:借组列表进行翻转 #coding=utf-8 strA = raw_input("请输入需要翻转的字符串:") order = [] for i in
-
python 遍历字符串(含汉字)实例详解
python 遍历字符串(含汉字)实例详解 s = "中国china" for j in s: print j 首先一个,你这个'a'是什么编码?可能不是你所想的gbk >>> a='中国' >>> a 这样试试看,如果出来是6个字(word),说明是utf-8,如果是4个字,说明gbk. 另外,不管是utf-8还是gbk,都不能这样遍历,因为这里它会一个字一个字拿出来.虚拟机把a当成一个长度为len(a)的字符串了. 接下来是遍历问题. Linux
-
详解python 字符串和日期之间转换 StringAndDate
python 字符串和日期之间转换 StringAndDate 这里给出实现代码,直接可以使用.大家可以看下. 实例代码: ''''' Created on 2013-7-25 @author: Administrator ''' from datetime import datetime class StringAndDate(object): ''''' String to Date(datetime) or date to string ''' def stringTo
-
解决python文件字符串转列表时遇到空行的问题
文件内容如下: Alex 100000 Rain 80000 Egon 50000 Yuan 30000 #此处有一个空行! 现在看如何处理并转成列表! salary_info = open("salaryinfo.txt", "r+", encoding="UTF-8") salary_info_list = [] for line in salary_info.readlines(): if line == '\n': pass else:
-
教大家玩转Python字符串处理的七种技巧
前言 日常使用python经常要对文本进行处理,无论是爬虫的数据解析,还是大数据的文本清洗,还是普通文件的处理,都是要用到字符串. Python对字符串的处理内置了很多高效的函数,非常方便功能很强大.下面是我总结的常用的7招,有了这几招就能轻松应对字符串处理. 一.字符串的连接和合并 连接和合并 相加 //两个字符串可以很方便的通过'+'连接起来 合并//用join方法 二.字符串的切片和相乘 相乘//比如写代码的时候要分隔符,用python很容易实现 line='*'*30 print(lin
-
Python字符串拼接的几种方法整理
Python字符串拼接的几种方法整理 第一种 通过加号(+)的形式 print('第一种方式通过加号形式连接 :' + 'love'+'Python' + '\n') 第二种 通过逗号(,)的形式 print('第二种方式通过逗号形式连接 :' + 'love', 'Python' + '\n') 第三种 直接连接 中间有无空格均可 print('第三种方式通过直接连接形式连接 (一) :' + 'love''Python' + '\n') print('第三种方式通过直接连接形式连接 (二)
-
python字符串反转的四种方法详解
这篇文章主要介绍了python字符串反转的四种详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.用reduce函数方法 book = 'Python程序设计' result = reduce(lambda x,y:y+x,book) print(result) 2.字符串切割 book = 'Python程序设计' print(book[::-1]) 3.用reversed方法,把字符串变成列表反转后拼接 result = reverse
-
python字符串拼接的7种方法及性能比较详解
python3.x拼接字符串一般有以下几种方法: 1. 直接通过(+)操作符拼接 s = 'Hello'+' '+'World'+'!' print(s) 输出结果: Hello World! 使用这种方式进行字符串连接的操作效率低下,因为python中使用 + 拼接两个字符串时会生成一个新的字符串,生成新的字符串就需要重新申请内存,当拼接字符串较多时自然会影响效率. 2. 通过str.join()方法拼接 strlist=['Hello',' ','World','!'] print(''.j
-
Python字符串拼接的4种方法实例
目录 1. 算术运算符拼接 (1)+算术运算符 (2) * 算术运算符 2.format方法 3.百分号操作符 4.特殊符号f 附:常见字符串去除空格的方法总结 总结 在程序实际应用中,少不了要进行字符串拼接的操作.下面介绍一下Python语言中四种字符串拼接的方式. 1. 算术运算符拼接 在Python中算术运算符一共有七种种,分别是+.-.*././/.**和%.其中+和*不仅可以用来进行算数计算,也可以用来字符串拼接. (1)+算术运算符 +运算符在Python中可以用作数学计算,例如:
-
python字符串替换的2种方法
python 字符串替换 是python 操作字符串的时候经常会碰到的问题,这里简单介绍下字符串替换方法. python 字符串替换可以用2种方法实现: 1是用字符串本身的方法. 2用正则来替换字符串 下面用个例子来实验下: a = 'hello word' 把a字符串里的word替换为python 1.用字符串本身的replace方法 复制代码 代码如下: a.replace('word','python') 输出的结果是hello python 2.用正则表达式来完成替换: 复制代码 代码如
-
Python字符串中查找子串小技巧
惭愧啊,今天写了个查找子串的Python程序被BS了- 如果让你写一个程序检查字符串s2中是不是包含有s1.也许你会很直观的写下下面的代码: 复制代码 代码如下: #determine whether s1 is a substring of s2 def isSubstring1(s1,s2): tag = False len1 = len(s1) len2 = len(s2) for i in range(0,len2): if s2[i] =
-
python字符串连接的N种方式总结
python中有很多字符串连接方式,今天在写代码,顺便总结一下: 最原始的字符串连接方式:str1 + str2 python 新字符串连接语法:str1, str2 奇怪的字符串方式:str1 str2 % 连接字符串:'name:%s; sex: ' % ('tom', 'male') 字符串列表连接:str.join(some_list) 第一种,想必只要是有编程经验的人,估计都知道,直接用 "+" 来连接两个字符串: 'Jim' + 'Green' = 'JimGreen' 第
-
详解Python 字符串相似性的几种度量方法
字符串的相似性比较应用场合很多,像拼写纠错.文本去重.上下文相似性等. 评价字符串相似度最常见的办法就是:把一个字符串通过插入.删除或替换这样的编辑操作,变成另外一个字符串,所需要的最少编辑次数,这种就是编辑距离(edit distance)度量方法,也称为Levenshtein距离.海明距离是编辑距离的一种特殊情况,只计算等长情况下替换操作的编辑次数,只能应用于两个等长字符串间的距离度量. 其他常用的度量方法还有 Jaccard distance.J-W距离(Jaro–Winkler dist
-
Python字符串拼接、截取及替换方法总结分析
本文实例讲述了Python字符串拼接.截取及替换方法.分享给大家供大家参考,具体如下: python字符串连接 python字符串连接有几种方法,我开始用的第一个方法效率是最低的,后来看了书以后就用了后面的2种效率高的方法,跟大家分享一下. 先介绍下效率比较低的方法: a = ['a','b','c','d'] content = '' for i in a: content = content + i print content content的结果是:'abcd' 后来我看了书以后,发现书上
随机推荐
- 五种windows密码设置及破解
- VBS教程:方法-DeleteFolder 方法
- Java获取网络文件并插入数据库的代码
- 简单讲解iOS应用开发中的MD5加密的相关使用
- Java List转换成String数组几种实现方式详解
- 15款最好的Bootstrap在线编辑器
- Php中用PDO查询Mysql来避免SQL注入风险的方法
- 浅析C语言中sscanf 的用法
- javascript验证手机号和实现星号(*)代替实例
- PowerShell函数参数设置成自动识别数据类型的例子
- sql server如何利用开窗函数over()进行分组统计
- 非常好用的sql语句(日常整理)
- SQL Server数据库bcp导出备份文件应用示例
- 注册表的备份
- WordPress中获取指定分类及其子分类下的文章数目
- 详解Java面向对象编程中方法的使用
- 解决ios微信页面回退不刷新的问题
- YII中assets的使用示例
- 通过反射实现Java下的委托机制代码详解
- springboot+thymeleaf国际化之LocaleResolver接口的示例