从字符串中提取出数字
在平时的工作中,解析Log日志时,很多Log日志的名字是用数字编号和字母字符组成,有时候只需要数字编号即可,这可以通过正则表达式来提取,这里介绍两种很简单的提取方法,但很实用,还有其他方法,欢迎大家留言补充。
# ! /usr/bin/env python # encoding:utf-8 import re def ExtractNumber(testcase): resultData1 = re.findall(r\'\d+\.?\d*\', testcase) resultData2 = re.sub(\'\D\', \' \', testcase).split() #\'\D\'表示非数字 resultString = re.findall(r\'\D+\', testcase) #\'\D+\'表示一个或多个非数字 print(resultData1) # [\'123\', \'456\', \'90\'] print(resultData2) # [\'123\', \'456\', \'90\'] print(resultString) # [\'abc\', \'jiu\'] if __name__ == \'__main__\': test =\'123abc456jiu90\' ExtractNumber(test)