這裏之後的字符串正則表達式找到工作:關鍵字
Sector: id1
Name: name1
Data: data1
Sector: id2
Name: name2
Data: data2
我怎樣才能得到只有names
,這是Name:
後... 也許與正則表達式?但不知道如何!?
我需要它來獲取Android虛擬設備列表的輸出的名稱。 我需要它編程一個android編程工具。
這裏之後的字符串正則表達式找到工作:關鍵字
Sector: id1
Name: name1
Data: data1
Sector: id2
Name: name2
Data: data2
我怎樣才能得到只有names
,這是Name:
後... 也許與正則表達式?但不知道如何!?
我需要它來獲取Android虛擬設備列表的輸出的名稱。 我需要它編程一個android編程工具。
使用re.findall
:
>>> import re
>>> s = '''Sector: id1
Name: name1
Data: data1
Sector: id2
Name: name2
Data: data2'''
>>> re.findall(r'\bName: (.*)', s)
['name1', 'name2']
不要使用正則表達式,只是環比線:
names = []
for line in openfileobj:
if line.strip().startswith('Name:'):
names.append(line.split(':', 1)[-1].strip())
其中openfileobj
是一個開放的文件對象(open()
調用的返回值) ,或者其他序列的行。
這裏的另一個想法
(Name:)(.*?)(\n)
再拿到2組
沒有必要使用re.split
,只是內置str.split
:
In [237]: s='''
...: Sector: id1
...: Name: name1
...: Data: data1
...: Sector: id2
...: Name: name2
...: Data: data2
...: '''
In [238]: [i.split(': ', 1)[1] for i in s.split('\n') if i.strip().startswith('Name:')]
Out[238]: ['name1', 'name2']
你能解釋一下我的語法請 – Tekkzz
@Tekkzz HTTP: //regex101.com/r/kZ1kL1 –
+1 for regex101 – zhangxaochen