Получение только числовых данных в строке

Имеется строка:

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]
→ Ссылка