Как извлечь числа из строки в Python - PullRequest
0 голосов
/ 14 февраля 2020

Я хотел бы извлечь числа из входной строки в Python.

Например, если входная строка:

CS9ED389^329IP"~a48#

Ожидаемый результат:

[9, 389, 329, 48]

Я попробовал это, но не сработало:

val = "CS9ED389^329IP~a48#"

result = re.findall("\d+", val)

Я был бы очень признателен, если бы кто-нибудь мог помочь мне с решением. Заранее спасибо!

1 Ответ

1 голос
/ 14 февраля 2020

Ваше регулярное выражение правильно, кроме пропущенных r также, если вам нужны именно те числа, которые вам просто нужны, чтобы привести их к int:

numbers = [int(number) for number in re.findall(r"\d+", val)]
print(numbers) # list of numbers
...