如何返回字符串的一部分

mya*_*cci 1 python string

所以我有一个字符串 str = 'yadayada; borg and ; 12for;scion$march.car; end

我正在搜索的关键字符是$如何返回部分字符串scion$march.car

我曾经在字符串中string.find(str,'$')找到索引$.

Ash*_*ary 5

使用str.splitnext:

>>> 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)