从字符串中提取数字、字符

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
汉字: 天板的

posted @ 2019-10-22 22:41  武功震树  阅读(4500)  评论(1编辑  收藏  举报