Как сохранить номер из строки в 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
Вы можете сосчитать сначала нужные вам числа, а затем остановиться.