Как сохранить номер из строки в Python - PullRequest
1 голос
/ 15 декабря 2011

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

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

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

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

Спасибо за вашу помощь

Filip

Ответы [ 4 ]

3 голосов
/ 15 декабря 2011
m = re.search("\d+", string)
print m.group(0)

отпечатки 28031

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

1 голос
/ 15 декабря 2011

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

stocknumber = string.split()[3][1:]
1 голос
/ 15 декабря 2011

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

import re
re.search('\d{5}', string).group(0)
0 голосов
/ 15 декабря 2011

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

РЕДАКТИРОВАТЬ: 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

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

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