从字符串中提取数字、字符
import re
string = "hello!!%[。]16天11板的"
number = re.findall(r"\d+",string) #提取所有整数
print('所有数字:',number)
number = re.findall(r"(?<=\天)\d+",string) #提取指定字符后数字
print('指定字符后:',number)
number = re.findall(r"(\d+)板",string) #提取指定字符前的数字
print('指定字符前:',number)
#转化为数字
number = list(map(int, number)) #先将list内字符型转数值型
number = number[0] #再读取list元素
print('转化为数字:',number)
#过滤字符串中的英文与符号,保留汉字
ste = re.sub("[A-Za-z0-9\!\%\[\]\,\。]", "", string)
print('汉字:',ste)
运行结果:
所有数字: ['16', '11']
指定字符后: ['11']
指定字符前: ['11']
转化为数字: 11
汉字: 天板的