Как сохранить номер из строки в Python

У меня есть строка, как это:

string = "Товар на складе"28031 (111111: тестовый продукт)"был успешно добавлен."

Мне нужно сохранить из строки первые 5 чисел (например, "28031") и сохранить их в другой строке.

Это потому, что я тестер селена и каждый раз, когда я создаю новый товар, у него появляются первые 5 чисел.

Спасибо за помощь

Filip

4 ответа

Решение
m = re.search("\d+", string)
print m.group(0)

отпечатки 28031

Он просто выбирает первую группу цифр, независимо от длины (также будет выбрано 2803)

После ответа я оставляю свой отредактированный, чтобы показать, как соответствовать 5 цифрам

import re
re.search('\d{5}', string).group(0)

Во-первых, я предполагаю, что все эти строки имеют одинаковый формат. Если это так, то самый простой способ получить номер товара на складе:

stocknumber = string.split()[3][1:]

РЕДАКТИРОВАТЬ: решение нейрино является самым умным! используй это

РЕДАКТИРОВАТЬ: SEHE решение умное и совершенное, вы можете добавить эту строку, чтобы получить только первые 5 чисел:

print m.group(0)[0:5]

использование [0:5] означает получение строковых элементов от 0 до 5 (первые 5 элементов)


использовать встроенную функцию str.isdigit

string = "The stock item 28031 "
Digitstring=''
for i in string:
    if i.isdigit():
        Digitstring+=i

print Digitstring

Выход:

28031

Вы можете сосчитать сначала нужные вам числа, а затем остановиться.

Другие вопросы по тегам