[英]How to cut a substring from a formated string in python?
The string is formated as '[DATE] record flag: X1.X2.X3.X4.YEAR.NUM;'
该字符串的格式为
'[DATE] record flag: X1.X2.X3.X4.YEAR.NUM;'
, where DATA
is a date string; ,其中
DATA
是日期字符串; there is one or two spaces between :
and X1
; 之间存在的一个或两个空间
:
和X1
; X1
, X2
, X4
are composed of one or more chars ; X1
, X2
, X4
由一个或多个字符组成 ; X3 consisits of zero or more chars ; X3由零个或多个字符组成 ;
YEAR
and NUM
are 4 and 3 digits , respectively. YEAR
和NUM
分别是4位和3位数字 。
Here is an exmaple: s = '[2011-03-13] record flag: NW.SENSOR..MH1.2011.012;'
这是一个示例:
s = '[2011-03-13] record flag: NW.SENSOR..MH1.2011.012;'
How do I cut 'NW'
and 'SENSOR'
from s
? 如何从
s
剪切'NW'
和'SENSOR'
?
Using str.split
: 使用
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'
Using re.search
: 使用
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'
Use some splitting and stripping: 使用一些拆分和剥离:
parts = s.split(":")[1].strip().split(".")
parts[0] # Should be NW
parts[1] # Should be SENSOR
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.