python提取字符串中的中文或数字或英文

最近在刷LeetCode的时候会遇到一些对字符串中的英文或数字进行提取,所以mark一下。

  • 代码示例
import re
string = "12345 abcde 武汉加油! ABCD ??//"
print(string)
# 提取数字
print(re.sub(u"([^\u0030-\u0039])","",string))
# 提取英文
print(re.sub(u"([^\u0041-\u007a])","",string))
# 提取汉字
print(re.sub(u"([^\u4e00-\u9fa5])","",string))
# 提取数字、英文、汉字
print(re.sub(u"([^\u4e00-\u9fa5\u0030-\u0039\u0041-\u005a\u0061-\u007a])","",string))
# 提取指定字符如?
print(re.sub(u"([^\?])","",string))
# 提取特殊字符很少使用,因此这里就不举例子了
  • 输出结果

12345 abcde 武汉加油! ABCD ??//
12345
abcdeABCD
武汉加油
12345abcde武汉加油ABCD
??

  • 函数和参数说明
函数 说明
sub(pattern,repl,string) 把字符串中的所有匹配表达式pattern中的地方替换成repl
pattern 说明
\u4e00-\u9fa5 汉字的unicode范围
\u0030-\u0039 数字的unicode范围
\u0041-\u005a 大写字母unicode范围
\u0061-\u007a 小写字母unicode范围
  • 有用的链接
  1. https://blog.csdn.net/supinyu/article/details/80926167
  2. https://blog.csdn.net/luoganttcc/article/details/80946194
  3. https://blog.csdn.net/jimmy_gyn/article/details/79050491

你可能感兴趣的:(Python)