python字符串如何去掉英文字母以外的字符
6个回答
展开全部
Python易混淆知识系列:Pandas字符串方法和字符串内建函数,使用Python的一个优势就是字符串处理起来比较容易。
Python的初学者在学习字符串内建函数的时候往往会很困惑:字符串的内建函数是对单个字符串对象处理,如果要对成千上万个字符串对象处理该怎么办?
不少已经使用Python工作很长时间的同学,即使已经学会使用Pandas对象的.apply()方法来处理字符串,依然会时常忘记:其实Pandas已经自带功能强大的向量化字符串操作。
即使知道Pandas字符串方法的同学,使用的时候也经常与字符串内建函数混淆。
而熟练使用Pandas字符串方法的同学往往会觉得,其方法的代码简洁性与运行效率都远高于其他的写法。真相到底如何?Pandas字符串方法和字符串内建函数有什么不同?运算效率真的像传闻那么高吗?
今天我们就好好捋一下这块Python易混淆的知识点。
1. 快速入门向量化字符串操作
初学Python字符串内建函数的同学肯定知道有个叫.lower()的方法可以将字符串中的大写英文字母转化为小写,比如将字符串对象’ABCD’转化为小写:
如果字符型的Series对象中的字符串要转化为小写呢?比如:
点击添加图片描述(最多60个字)
编辑
此时,我们就可以使用Series的str方法中的.lower()来处理:
点击添加图片描述(最多60个字)
编辑
同理,如果要将Series对象中的所有的大写字母变成小写,可以使用.str.upper()。
看到这里,相信很多没有使用过Pandas字符串方法的同学会惊奇地发现,这跟字符串对象的内建函数差不多呀?只不过多了一个通过.str()方法调用函数的过程。
确实,大多数Pandas的字符串方法借鉴了Python字符串内建函数的内容,。
Python的初学者在学习字符串内建函数的时候往往会很困惑:字符串的内建函数是对单个字符串对象处理,如果要对成千上万个字符串对象处理该怎么办?
不少已经使用Python工作很长时间的同学,即使已经学会使用Pandas对象的.apply()方法来处理字符串,依然会时常忘记:其实Pandas已经自带功能强大的向量化字符串操作。
即使知道Pandas字符串方法的同学,使用的时候也经常与字符串内建函数混淆。
而熟练使用Pandas字符串方法的同学往往会觉得,其方法的代码简洁性与运行效率都远高于其他的写法。真相到底如何?Pandas字符串方法和字符串内建函数有什么不同?运算效率真的像传闻那么高吗?
今天我们就好好捋一下这块Python易混淆的知识点。
1. 快速入门向量化字符串操作
初学Python字符串内建函数的同学肯定知道有个叫.lower()的方法可以将字符串中的大写英文字母转化为小写,比如将字符串对象’ABCD’转化为小写:
如果字符型的Series对象中的字符串要转化为小写呢?比如:
点击添加图片描述(最多60个字)
编辑
此时,我们就可以使用Series的str方法中的.lower()来处理:
点击添加图片描述(最多60个字)
编辑
同理,如果要将Series对象中的所有的大写字母变成小写,可以使用.str.upper()。
看到这里,相信很多没有使用过Pandas字符串方法的同学会惊奇地发现,这跟字符串对象的内建函数差不多呀?只不过多了一个通过.str()方法调用函数的过程。
确实,大多数Pandas的字符串方法借鉴了Python字符串内建函数的内容,。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
字符串操作是日常编码和Web开发中非常重要的任务;例如:HTTP查询中的大多数请求和响应都是字符串形式,有时我们需要删除一些无用的数据。下面本篇文章就来给大家介绍一些Python方法来将指定字符串中除字母和数字之外的所有字符都删除,希望对大家有所帮助。
方法一:使用re.sub()函数
在Python中正则表达式的功能是很强大的,而re.sub()函数就是Python中的正则替换字符串。re.sub()函数可以使用正则匹配要替换的字符串,进而将匹配的字符串替换成别的字符串。
语法:
re.sub(pattern , repl , string , count = 0 , flags = 0)
此函数中的“sub”代表子字符串(SubString),在给定的字符串(第3个参数)中搜索特定的正则表达式模式(第1个参数),找到后用repl(第2个参数)中的替换子字符串模式进行替换,计数检查并保持出现这种情况的次数。
代码示例:
在这里插入图片描述
输出:
在这里插入图片描述
方法二:使用isalpha()+isnumeric()+join()方法
isalpha()方法是Python的一种用于字符串处理的内置方法,可以检查字符串是否只由字母组成。如果字符串中的所有字符都是字母,则返回“True”,否则返回“False”。
isnumeric()方法是Python的一种用于字符串处理的内置方法,可以检查字符串是否只由数字组成。如果字符串中的所有字符都是数字字符,则返回“True”,否则返回“False”。
join()方法用于将序列中的元素以指定的字符连接生成一个新的字符串
方法一:使用re.sub()函数
在Python中正则表达式的功能是很强大的,而re.sub()函数就是Python中的正则替换字符串。re.sub()函数可以使用正则匹配要替换的字符串,进而将匹配的字符串替换成别的字符串。
语法:
re.sub(pattern , repl , string , count = 0 , flags = 0)
此函数中的“sub”代表子字符串(SubString),在给定的字符串(第3个参数)中搜索特定的正则表达式模式(第1个参数),找到后用repl(第2个参数)中的替换子字符串模式进行替换,计数检查并保持出现这种情况的次数。
代码示例:
在这里插入图片描述
输出:
在这里插入图片描述
方法二:使用isalpha()+isnumeric()+join()方法
isalpha()方法是Python的一种用于字符串处理的内置方法,可以检查字符串是否只由字母组成。如果字符串中的所有字符都是字母,则返回“True”,否则返回“False”。
isnumeric()方法是Python的一种用于字符串处理的内置方法,可以检查字符串是否只由数字组成。如果字符串中的所有字符都是数字字符,则返回“True”,否则返回“False”。
join()方法用于将序列中的元素以指定的字符连接生成一个新的字符串
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
字符串操作是日常编码和Web开发中非常重要的任务;例如:HTTP查询中的大多数请求和响应都是字符串形式,有时我们需要删除一些无用的数据。下面本篇文章就来给大家介绍一些Python方法来将指定字符串中除字母和数字之外的所有字符都删除,希望对大家有所帮助。
方法一:使用re.sub()函数
在Python中正则表达式的功能是很强大的,而re.sub()函数就是Python中的正则替换字符串。re.sub()函数可以使用正则匹配要替换的字符串,进而将匹配的字符串替换成别的字符串。
语法:
re.sub(pattern , repl , string , count = 0 , flags = 0)
此函数中的“sub”代表子字符串(SubString),在给定的字符串(第3个参数)中搜索特定的正则表达式模式(第1个参数),找到后用repl(第2个参数)中的替换子字符串模式进行替换,计数检查并保持出现这种情况的次数。
方法一:使用re.sub()函数
在Python中正则表达式的功能是很强大的,而re.sub()函数就是Python中的正则替换字符串。re.sub()函数可以使用正则匹配要替换的字符串,进而将匹配的字符串替换成别的字符串。
语法:
re.sub(pattern , repl , string , count = 0 , flags = 0)
此函数中的“sub”代表子字符串(SubString),在给定的字符串(第3个参数)中搜索特定的正则表达式模式(第1个参数),找到后用repl(第2个参数)中的替换子字符串模式进行替换,计数检查并保持出现这种情况的次数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
去掉字符串中字母以外的字符,在Python编程语言中有多种实现方式。
Python中的str类型,有一个isalpha()方法,判断字符是否是英文字符。可以使用循环逐个字符判断是否是英文字符,如果是英文字符则加入新的字符串。
oldS = 'as30wejl2@2]sjls'
newS = ''
for s in oldS:
if s.isalpha():
newS += s
print newS
以上代码可以使用表理解浓缩成一行,表理解返回的结果是一个list,因此需要用空字符串''连接。
print ''.join([x for x in oldS if x.isalpha()])
上面的实现方式可以完成任务,但仍然不够凝练。最佳的实现方式是使用正则表达式匹配非英文字母,将其替换成空字符,这可以使用re包的sub()函数实现。
import re
print re.sub('[^a-zA-Z]','',oldS)
上述正则表达式[^a-zA-Z],就是用于匹配非英文字符。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询