Найти - Пользователи
Полная версия: Добавление одинарных ковычек в определенную часть строки
Начало » Python для экспертов » Добавление одинарных ковычек в определенную часть строки
1
usmesn
Всем привет.
Подскажите, по задаче: есть список с название управлений в компании и в определенную часть нужно добавить одинарные ковычки.
Как правило это назвная контакт-центров и нужно имя КЦ взять в одинарные ковычки(только они нужны) для решения следующих задач. Причем имя КЦ может быть уже в кавычка одинарных, может быть в двойных ковычка а может совсем быть без них.
В целом задачу решил, но уверен что не совсем оптимально и правильно.
Так же, почему в нельзя решить задачу в однин цикл(первый 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)
py.user.next
  
>>> 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
["Контакт-центр 'Волжский'", "Контакт-центр 'Первый Сибирский'", "Контакт-центр 'Первый Сибирский'", 'Управление последующей проверки и контроля качества']
>>>
usmesn
py.user.next
спасибо
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB