Как извлечь числа из строки (без черного пространства), используя Python? - PullRequest
0 голосов
/ 06 мая 2020

У меня есть следующая строка:

s = 'ABC:10DEF:20'

Мне нужно извлечь числа и присвоить их переменным как:

ABC = 10
DEF = 20

Как я могу это сделать?

Ответы [ 3 ]

0 голосов
/ 06 мая 2020

Простое регулярное выражение для поиска всех числовых значений

import re
s = 'ABC:10DEF:20'
re.findall('[\d]{1,}',s)
0 голосов
/ 06 мая 2020

Я предлагаю разделить строку на словарь, где ключи - это буквы, а значения - числа.

>>> import re
>>> s = 'ABC:10DEF:20'
>>> d = dict(x.split(':') for x in re.split(r'(?<=\d)(?=\D)', s))
>>> d
{'ABC': '10', 'DEF': '20'}
0 голосов
/ 06 мая 2020

Просто используйте встроенный метод .split() в python. Например, вы можете сказать s = s.split(":"), и он должен выдать ["ABC", "10", "DEF", "20"]. Затем он просто использует индексы, чтобы найти то, что вам нужно. Чтобы на самом деле назначить AB C как переменную, я не знаю, но я думаю, вам следует начать с .split(), надеюсь, это поможет :)

...