Найти - Пользователи
Полная версия: Как вытащить числа из строки
Начало » Python для новичков » Как вытащить числа из строки
1
Meacronacer
вот допустим у нас пользаватель задал строку, и мне нужно вытащить все числа из строки
вот такой пример:
 a = 'a3b4c2e10b1'
нужно чтоб вышел вот такой список
 d = [3, 4, 2, 10, 1]

вместо этого у меня выходит вот такой список:
 d = [3, 4, 2, 1, 0, 1]
xam1816
 a = 'a3b4c2e10b1'
def get_digit(s):
	out = [] # сохраняем числа
	d = '' # здесь собираем число из цифр
	for i in s: # для каждого симовола в строке s
		if i.isdigit(): #если символ цифра
			d += i# складываем в строку в переменной d
		else: # иначе
			if d:# если строка d не пустая
				out.append(int(d)) # добавляем в итоговый список,при этом преобразуя в int
				d = '' # обнуляем для следующего числа
	if d:# если в строке было последняя цифра,то добавляем в out
		out.append(int(d))
	return out # возвращаем out
print(get_digit(a))
py.user.next
  
>>> import re
>>> 
>>> text = 'a3b4c2e10b1'
>>> 
>>> out = list(map(int, re.findall(r'\d+', text)))
>>> out
[3, 4, 2, 10, 1]
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB