最近在刷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范围 |
- 有用的链接
- https://blog.youkuaiyun.com/supinyu/article/details/80926167
- https://blog.youkuaiyun.com/luoganttcc/article/details/80946194
- https://blog.youkuaiyun.com/jimmy_gyn/article/details/79050491
在刷LeetCode时,需要从字符串中提取英文、数字和中文。本文提供代码示例,展示如何实现这一功能,并列出相关资源链接。
4228

被折叠的 条评论
为什么被折叠?



