Получение только числовых данных в строке
Имеется строка:
str = '\nг. Нур-Султан – 257 \nг. Алматы – 172 \nг. Шымкент – 38 \nАкмолинская область – 71 \nАктюбинская область – 11 \nАлматинская область – 21 \nАтырауская область – 59 \nВосточно-Казахстанская область – 8 \nЖамбылская область – 46 \nЗападно-Казахстанская область – 9 \nКарагандинская область – 76 \nКостанайская область – 3 \nКызылординская область – 119 \nМангистауская область – 10 \nПавлодарская область – 10 \nСеверо-Казахстанская область – 26 \nТуркестанская область – 43 \n'
как можно форматировать эту строку так, что бы были только числовые значения (разделены запятой). Пример: '257, 172, 38, 71' и т.д
Ответы (2 шт):
Автор решения: Sergey Gornostaev
→ Ссылка
import re
s = '\nг. Нур-Султан - 257 \nг. Алматы
- 172 \nг. Шымкент - 38 \nАкмолинская область
- 71 \nАктюбинская область - 11 \nАлматинская об
ласть - 21 \nАтырауская область - 59 \nВосточно-
Казахстанская область - 8 \nЖамбылская область - 46 \nЗапад
но-Казахстанская область - 9 \nКарагандинская область - 76 \nК
останайская область - 3 \nКызылординская область - 11
9 \nМангистауская область - 10 \nПавлодарская область
- 10 \nСеверо-Казахстанская область - 26 \nТуркестанская область
- 43 \n'
v = ', '.join(re.findall(r'\d+', s))
Автор решения: Victor VosMottor thanks Monica
→ Ссылка
res = ','.join([i for i in yourstr if i.isnumeric()])[0:-1]