Печать извлеченной подстроки с использованием регулярных выражений приводит к " " - PullRequest
1 голос
/ 11 марта 2020

Я искал, как извлечь подстроку из сильного, и наткнулся на этот опубликованный вопрос на StackOverflow. Это набор списков, которые я хочу извлечь только из числа (ie extract '39' from 'ID: 39'):

['Atalanta ', 'ID: 39) ']
['RB Leipzig ', 'ID: 112172) ']
['Manchester United ', 'ID: 11) ']
['Borussia Dortmund ', 'ID: 22) ']
['Liverpool ', 'ID: 9) ']
['Tottenham Hotspur ', 'ID: 18) ']

И код, который я должен сделать, основан на выше ссылка:

id_uncleaned = name_id_list[1]

found = re.search('\(ID: (\d*)\)', id_uncleaned)

if found:
    id = found.group(1)

print(id)

Но это возвращает <built-in function id>, когда я пытаюсь распечатать его. Почему это так и как я могу просто получить цифры из «39», et c. вместо этого?

1 Ответ

2 голосов
/ 11 марта 2020

id является внутренней функцией Python. Если найдено не установлено значение, тогда строка id = found.group(1) не возникает, и поэтому, когда вы печатаете (id), вы получаете исходное значение. Избегайте использования идентификатора в качестве имени для переменных, и оно будет более понятным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...