从字符串中提取数字、字符
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
汉字: 天板的