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