python |
您所在的位置:网站首页 › 使用函数删除字符串中的字符 › python |
文章目录
引言1.使用re.sub()函数2.isalpha()+isnumeric()+join()
引言
leetcode刷题中碰到了如下问题: 更多正则化知识见这个网址 Python 的re模块提供了re.sub用于替换字符串中的匹配项 语法: re.sub(pattern, repl, string, count=0, flags=0)参数: pattern : 正则中的模式字符串。 repl : 替换的字符串,也可为一个函数。 string : 要被查找替换的原始字符串。 count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。 flags : 编译时用的匹配模式,数字形式。 前三个为必选参数,后两个为可选参数。 import re s = "A man, a plan, a canal: Panama" s = s.lower() result = re.sub('[\W_]+', '', s) print(result) # amanaplanacanalpanama是不是很神奇? 它利用了正则表达式模式语法中的特殊元素。 […] 用来表示一组字符,单独列出:[amk] 匹配 ‘a’,‘m’或’k’ [^…] 不在[]中的字符:[^abc] 匹配除了a,b,c之外的字符。 re* 匹配0个或多个的表达式。 re+ 匹配1个或多个的表达式。 re? 匹配0个或1个由前面的正则表达式定义的片段,非贪婪方式 \w 匹配数字字母下划线 \W 匹配非数字字母下划线 所以,[\W_]+代表着匹配一个或多个非数字字母, 如果,我们将[\W_]+变成[\w_]+,那么就代表着匹配一个或多个数字字母 import re s = "A man, a plan, a canal: Panama" s = s.lower() result = re.sub('[\w_]+', '', s) print(result) # , , : 2.isalpha()+isnumeric()+join()该方法利用了字符串的内置方法isalpha(),isnumeric(),通过迭代字符串中的每一个元素并结合join方法(join()方法用于将序列中的元素以指定的字符连接生成一个新的字符串)。 s = "A man, a plan, a canal: Panama" s = s.lower() # 去掉除字符串与数字外的其他 s = [i for i in s if i.isalpha() or i.isnumeric()] s = "".join(s) print(s) # amanaplanacanalpanama同样也可以只删除字母与数字 s = "A man, a plan, a canal: Panama" s = s.lower() # 去掉除字符串与数字外的其他 s = [i for i in s if not i.isalpha() and not i.isnumeric()] s = "".join(s) print(s) # , , :如果对您有帮助,麻烦点赞关注,这真的对我很重要!!!如果需要互关,请评论留言! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |