Уведомления

Группа в Telegram: @pythonsu

#1 Июль 16, 2024 19:18:20

usmesn
Зарегистрирован: 2020-04-28
Сообщения: 30
Репутация: +  0  -
Профиль   Отправить e-mail  

Добавление одинарных ковычек в определенную часть строки

Всем привет.
Подскажите, по задаче: есть список с название управлений в компании и в определенную часть нужно добавить одинарные ковычки.
Как правило это назвная контакт-центров и нужно имя КЦ взять в одинарные ковычки(только они нужны) для решения следующих задач. Причем имя КЦ может быть уже в кавычка одинарных, может быть в двойных ковычка а может совсем быть без них.
В целом задачу решил, но уверен что не совсем оптимально и правильно.
Так же, почему в нельзя решить задачу в однин цикл(первый for, вроде уже заменили двойные на одинарные кавычки в соответствующей позиции) после замены двойных ковыче и пойти далее по массиву?

 mas=['Контакт-центр Волжский', 'Контакт-центр "Первый Сибирский"', 'Контакт-центр Первый Сибирский', 'Управление последующей проверки и контроля качества']
for i, v in enumerate(mas):
    mas[i]=v.replace("\"","\'")
for i, v in enumerate(mas):
    if re.match("Контакт-центр \'(.*)",v)==None:
        patern=re.match("Контакт-центр (.*)", v)
        if patern:
            v="Контакт-центр "+"\'"+patern.group(1)+"\'"
            mas[i]=v
print(mas)

Отредактировано usmesn (Июль 16, 2024 19:21:55)

Офлайн

#2 Июль 17, 2024 05:42:12

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9817
Репутация: +  852  -
Профиль   Отправить e-mail  

Добавление одинарных ковычек в определенную часть строки

  
>>> import re
>>> 
>>> def convert(text):
...     out = None
...     pat = r'^(Контакт-центр )(.*)$'
...     match = re.search(pat, text)
...     if match is not None:
...         part1, part2 = match.groups()
...         part2_ready = "'{}'".format(re.sub(r'[\'"]', '', part2))
...         out = part1 + part2_ready
...     else:
...         out = text
...     return out
... 
>>> mas = [
...     'Контакт-центр Волжский',
...     'Контакт-центр "Первый Сибирский"',
...     'Контакт-центр Первый Сибирский',
...     'Управление последующей проверки и контроля качества'
... ]
>>> 
>>> out = [convert(i) for i in mas]
>>> out
["Контакт-центр 'Волжский'", "Контакт-центр 'Первый Сибирский'", "Контакт-центр 'Первый Сибирский'", 'Управление последующей проверки и контроля качества']
>>>



Офлайн

#3 Июль 21, 2024 15:02:40

usmesn
Зарегистрирован: 2020-04-28
Сообщения: 30
Репутация: +  0  -
Профиль   Отправить e-mail  

Добавление одинарных ковычек в определенную часть строки

py.user.next
спасибо

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version