所以我有一个字符串 str = 'yadayada; borg and ; 12for;scion$march.car; end
我正在搜索的关键字符是$如何返回部分字符串scion$march.car
我曾经在字符串中string.find(str,'$')找到索引$.
使用str.split和next:
>>> s = 'yadayada; borg and ; 12for;scion$march.car; end'
>>> next((x for x in s.split(';') if '$' in x), None) #return None if no match was gound
'scion$march.car'
Run Code Online (Sandbox Code Playgroud)
说明:
s.split(';')将字符串拆分';'并返回一个列表,现在我们遍历此列表并返回包含'$'以下内容的第一项:
>>> s.split(';')
['yadayada', ' borg and ', ' 12for', 'scion$march.car', ' end']
Run Code Online (Sandbox Code Playgroud)
上面的代码大致相当于:
def solve(strs):
for s in strs.split(';'):
if '$' in s:
return s
...
>>> solve(s)
'scion$march.car'
Run Code Online (Sandbox Code Playgroud)