Более элегантный способ замены подстроения текста, который был сопоставлен с помощью RegexPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Более элегантный способ замены подстроения текста, который был сопоставлен с помощью Regex

Сообщение Anonymous »

Я новичок в Python, поэтому я хотел бы получить несколько идей для этого. p>
input: < /strong> < /p>

(c) переменная < var_const1 (例 -125 (n)) 【Aaa bbb 有】 и 【技術企画】 и 【aaa bbb ccc】

ожидаемый выход:

(c) переменная < var_const1 (例 -125 (n)) 【aaa-bbb 有】 и 【技術企画】 и 【aaa-bbb-ccc】 < /p>
< /blockquote>
В образце, пробелы внутри «【aaa bbb 有】» и «【aaa bbb ccc】» следует заменить на "-". < /p>
Я создал приведенный ниже код, который решает проблему. Тем не менее, я хотел бы знать, является ли лучший/более элегантный способ написания.

Код: Выделить всё

import re

text = "(c)variable < var_CONST1(例 -125(N)) 【AAA BBB有】AND【技術企画】AND 【AAA BBB CCC】"

match_list = re.findall(r"【[\w\s]+】", text)
match_list = [w.replace(" ", "-") for w in match_list]
tmp_txt = re.sub(r"【[\w\s]+】",  " tkn ", text).split()

new_txt = ""
for txt in tmp_txt:
if txt == "tkn":
new_txt = new_txt + " " + match_list[0]
match_list.pop(0)
else:
new_txt = new_txt + " " + txt

print(new_txt)
Большое спасибо.

Подробнее здесь: https://stackoverflow.com/questions/731 ... with-regex
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»