Ищите и получите строку в Python

Существует ли способ искать, от строки, строка, содержащая другую строку и получить всю строку?

Например:

string = 
    qwertyuiop
    asdfghjkl

    zxcvbnm
    token qwerty

    asdfghjklñ

retrieve_line("token") = "token qwerty"
18
задан Ben 2 June 2012 в 01:31
поделиться

3 ответа

вы упомянули «всю строку», поэтому я предположил, что mystring - это вся строка.

if "token" in mystring:
    print mystring

однако, если вы хотите просто получить «токен qwerty»,

>>> mystring="""
...     qwertyuiop
...     asdfghjkl
...
...     zxcvbnm
...     token qwerty
...
...     asdfghjklñ
... """
>>> for item in mystring.split("\n"):
...  if "token" in item:
...     print item.strip()
...
token qwerty
34
ответ дан 30 November 2019 в 05:45
поделиться

В регулярных выражениях

import re
s="""
    qwertyuiop
    asdfghjkl

    zxcvbnm
    token qwerty

    asdfghjklñ
"""
>>> items=re.findall("token.*$",s,re.MULTILINE)
>>> for x in items:
...     print x
...
token qwerty
5
ответ дан 30 November 2019 в 05:45
поделиться

Если вы предпочитаете односложно:

matched_lines = [line for line in my_string.split('\n') if "substring" in line]
29
ответ дан 30 November 2019 в 05:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: