Как разбить строку между разными символами? - PullRequest
0 голосов
/ 08 ноября 2019

Я хочу получить число с плавающей точкой между двумя разными знаками.

text="value_1 : 12.14% ,value_2 : 14.14% ,value_3 : 92.23% ,value_3 : 17.22% ,"

Как я могу получить только число между : и % символами?

1 Ответ

2 голосов
/ 08 ноября 2019

очень не питонический способ, также делает много предположений.

text = "value_1 : 12.14% ,value_2 : 14.14% ,value_3 : 92.23% ,value_3 : 17.22% ,"

s = text.split(',')
for part in s:
    if '%' in part:
        number = part.split(':')[1].strip()[:-1]
        print(number)

Вот решение для регулярных выражений:

text = "value_1 : 12.14% ,value_2 : 14.14% ,value_3 : 92.23% ,value_3 : 17.22% ,"
regex = r'\:.*?(\d+\.\d+)%' # find all parts starting with the ';' char, 
                            # then skip all characters until digit is found, 
                            # and then extract the float number until the 
                            # '%' char appears
res = re.findall(regex, text)
for r in res:
    print(r)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...