Замените пробелы двоеточиями в питоне - PullRequest
0 голосов
/ 30 мая 2019

У меня есть строка в формате пары ключ-значение, разделенная пробелом. Я хочу разделить запятой вместо пробела.

Я попытался заменить функцию, но она также заменяет мои пробелы значений запятой.

val = 'name=Ajay age=21 company=abc PVT LTD empid=12345'

мой желаемый вывод:

'name=Ajay,age=21,company=abc PVT LTD,empid=12345'

Ответы [ 2 ]

3 голосов
/ 30 мая 2019

Вы можете просто сопоставить шаблон <word>=, а затем заменить их:

import re    
val = 'name=Ajay age=21 company=abc PVT LTD empid=12345'

pattern = re.compile(r' \w+=')
pattern.sub(lambda match: match.group().replace(' ', ','), val)

# Output
# 'name=Ajay,age=21,company=abc PVT LTD,empid=12345'

Этот также должен быть хорошим справочным материалом о том, как sub работает с lambda

0 голосов
/ 30 мая 2019

Как насчет:

\w+=[^=]+(?: |$)

Проверьте это на Regex101: https://regex101.com/r/GgbqxB/1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...