面试题-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))

运行结果:上海 悠悠

posted @ 2021-06-22 15:37  上海-悠悠  阅读(1902)  评论(0编辑  收藏  举报