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