2 回答

TA貢獻1811條經(jīng)驗 獲得超6個贊
如果順序不重要,您可以使用re.findall:
import re
a = ["john", "jack", "mike"]
s = "jackmikejohnjackjack"
b = []
for item in a:
result = re.findall(item, s)
for subitem in result:
b.append(item)
print(b)
這會輸出:
['john', 'jack', 'jack', 'jack', 'mike']

TA貢獻1825條經(jīng)驗 獲得超6個贊
如果您可以假設(shè)我們總是有出現(xiàn)的名稱,那么此代碼可以滿足您的要求:
>> a = ["john", "jack", "mike"]
>> s = "jackmikejohnjackjack"
>> b = []
>> while s:
for name in a:
if s.startswith(name):
b.append(name)
s = s[len(name):]
break
>> print(b)
['jack', 'mike', 'john', 'jack', 'jack']
添加回答
舉報