Как разделить символ и значение на входе? (Python) - PullRequest
0 голосов
/ 09 ноября 2019

У меня есть вход, который выглядит примерно так: value = '35C, 22.4C, 12.8C'

Я хочу отделить его так, чтобы он выглядел следующим образом: list = ['35','22 .4 ', '12 .8']

Спасибо. :)

Ответы [ 3 ]

0 голосов
/ 09 ноября 2019
data = '35C, 22.4C, 12.8C'
items = data.replace('C', '').replace(',', '').split()
print(items)

Сначала замените C из строки, а затем замените ,, а затем разделите. Теперь вы получите список, содержащий только цифры.

Вывод:

['35', '22.4', '12.8']
0 голосов
/ 09 ноября 2019

Не лучший по производительности, но гибкий для некоторых различий форматирования строк, таких как

value = '35 T, 22.4C , 12.8 ABC ';

Использование регулярного выражения:

import re

value = '35C, 22.4C, 12.8C';

result = re.split(r'[^0-9]+\s*,\s', value)
result[-1] = re.sub(r'([0-9])[^0-9]+\s*$', r'\1', result[-1])
print(result)
0 голосов
/ 09 ноября 2019

Вы можете попробовать это:

>>> value.replace('C', '').split(',')
['35', '22.4', '12.8']

ИЛИ

>>> re.findall('[0-9.]+', value)
['35', '22.4', '12.8']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...