python 正則表示式 字串的 匹配 替換 分割 查詢
阿新 • • 發佈:2019-01-07
In [1]: import re In [2]: str1='imooc video=1000' In [3]: str1.find('1000')#可以查找出索引值 Out[3]: 12 In [4]: str1='imoocvideo=1000' In [5]: str1.find('1000') Out[5]: 11 In [6]: info=re.search(r'\d+',str1)#'\d'代表任意一個數字,'+'可以匹配數字一次或者無限次,只能匹配最前面的 In [7]: info Out[7]: <_sre.SRE_Match at 0xb6bf9b48> In [8]: info.group() Out[8]: '1000' In [1]: import re In [2]: str1='java=1000,python=9090' In [3]: info=re.findall(r'\d+',str1)#找到所有匹配的字串,並把它們放到一個列表中 In [4]: info Out[4]: ['1000', '9090'] In [5]: sum([int(x) for x in info]) Out[5]: 10090 In [25]: def add1(match):#傳入的match是一個字串物件, ....: val=match.group()#匹配的字串 ....: num=int(val)+1 #強制轉換 ....: return str(num)#強制轉化 ....: In [28]: info=re.sub(r'\d+',add1,str4)#sub就是替換字串和函式 In [29]: info Out[29]: 'python video =10001' In [35]: str6='imooc:java c++ python c#' In [36]: re.split(r':| ',str6)#split用來分割字串,':|'的意思是隻要看見冒號和空格就會分割成一部分 Out[36]: ['imooc', 'java c++ python c#'] In [37]: re.split(r':| ',str6) Out[37]: ['imooc', 'java', 'c++', 'python', 'c#']