Python 正则表达式+字符串分割(数字/字母/汉字/特殊字符)
1. 基本知识函数说明\u0041-\u005a大写字母unicode范围\u0061-\u007a小写字母unicode范围\u0041-\u007a英文字母unicode范围\u0030-\u0039数字unicode范围\u4e00-\u9fa5汉字unicode范围import restring = "12345 abcde 武汉加油! aBCD ??//"print(string)# 提
·
1. 基本知识
函数 | 说明 |
---|---|
\u0041-\u005a | 大写字母unicode范围 |
\u0061-\u007a | 小写字母unicode范围 |
\u0041-\u007a | 英文字母unicode范围 |
\u0030-\u0039 | 数字unicode范围 |
\u4e00-\u9fa5 | 汉字unicode范围 |
import re
string = "12345 abcde 武汉加油! aBCD ??//"
print(string)
# 提取数字
print(re.sub(u"([^\u0030-\u0039])","",string))
# 提取大写字母
print(re.sub(u'([^\u0041-\u005a])','',string))
# 提取小写字母
print(re.sub(u'([^\u0061-\u007a])','',string))
# 提取英文字母
print(re.sub(u'([^\u0041-\u007a])','',string))
# 提取汉字
print(re.sub(u'([^\u4e00-\u9fa5])','',string))
# 提取特殊符号
print(re.sub(u'([^\!\?])','',string))
# 提取数字+英文+汉字+特殊符号
print(re.sub(u"([^\u4e00-\u9fa5\u0030-\u0039\u0041-\u007a\?])","",string))
2. 练习
import pandas as pd
import re
# target string
df = ['豪沃Z3257N47E1自卸汽车','福田B5313VNJJ-S2仓栅式运输车','华威驰乐J453SMFB-12半挂牵引车']
# result dataframe
df1 = pd.DataFrame(columns = ['车辆名称','品牌','车型代码','车辆类型'],index = range(0,len(df)))
for i in range(0,len(df)):
df1.iloc[i,0] = df[i]
#先提取数字+字母+特殊字符-
df1.iloc[i,2] = re.sub(u"([^\u0041-\u007a\u0030-\u0039\-])","",df1.iloc[i,0])
#再提取品牌
df1.iloc[i,1] = df1.iloc[i,0].split(df1.iloc[i,2])[0]
#再提取车辆类型
df1.iloc[i,3] = df1.iloc[i,0].split(df1.iloc[i,2])[1]
df1
更多推荐
已为社区贡献1条内容
所有评论(0)