如何从python中的格式化字符串中剪切子字符串?

时间:2016-05-08 10:32:43

标签: python string

字符串格式为'[DATE] record flag: X1.X2.X3.X4.YEAR.NUM;',其中DATA是日期字符串; :X1之间有一个或两个空格; X1X2X4一个或多个字符组成; X3由零或多个字符组成; YEARNUM分别为 4位和3位

这是一个例子:s = '[2011-03-13] record flag: NW.SENSOR..MH1.2011.012;'

如何从'NW'剪切'SENSOR's

2 个答案:

答案 0 :(得分:1)

使用str.split

>>> s = '[2011-03-13] record flag: NW.SENSOR..MH1.2011.012;'

>>> s.split(' ')[3].split('.')
['NW', 'SENSOR', '', 'MH1', '2011', '012;']

>>> out = s.split(' ')[3].split('.')

>>> out[0]
'NW'

>>> out[1]
'SENSOR'

使用re.search

>>> s = '[2011-03-13] record flag: NW.SENSOR..MH1.2011.012;'

>>> out = re.search(r':\s+([^.]+)\.([^.]+)', s)

>>> out.group(1)
'NW'

>>> out.group(2)
'SENSOR'

答案 1 :(得分:1)

使用一些拆分和剥离:

parts = s.split(":")[1].strip().split(".")
parts[0] # Should be NW
parts[1] # Should be SENSOR