面试题-re正则表达式替换字符串中的英文和数字


题目

字符串 s="hello 1234 world xx 上海 18 悠悠",用正则过滤掉英文和数字
得到:上海 悠悠

sub 过滤

re正则表达式中,过滤字符可以用替换的方法,用sub查找替换字符

import re

s = "hello 1234 world xx 上海 18 悠悠"
r = re.sub('[a-zA-Z0-9]', '', s)
print(r.strip())

运行结果:上海 悠悠

sub是查找替换,找到英文和数字[a-zA-Z0-9],替换成空字符,替换后首位会有空格
去掉首尾空格用 python 里面的 strip() 方法

详情参考这篇https://www.cnblogs.com/yoyoketang/p/14261349.html

正则提取中文

如果是正则提取字符串中的中文,可以匹配中文[\u4e00-\u9fa5]

s = "hello 1234 world xx 上海 18 悠悠"
r = re.findall(r'[\u4e00-\u9fa5]+', s)
print(" ".join(r))

运行结果:上海 悠悠


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM