Форум сайта python.su
раз два III* четыре пять - зайчик vIshel pogulat
раз два (дата3) четыре пять - зайчик v(дата2)shel pogulat
Офлайн
Genaboxтак одной звездочки мало для этого, ты html код видел? или даже на этом форуме код думаешь почему в рамке появляется, потому что он в тегах с двух сторон
поэтому при замене все букв по азбуке римские цифры нужно видить как 1 символ для замены - я его пометил звездочкой для этого
[code python]так понятно что это код, а не текст[/code]
Отредактировано xam1816 (Янв. 21, 2023 19:52:58)
Офлайн
да у меня вопрос по логике а не покоду
Офлайн
Genaboxя тебе про логику и говорю, почему ты делаешь III*, а не к примеру <tag>III</tag>
да у меня вопрос по логике а не покоду
import re dct = { 'III\*': '(data3)', 'I': '(data2)', } s = 'раз два III* четыре пять - зайчик vIshel pogulatIII*' def process(text, dct): for k, v in dct.items(): text = re.sub(k, v, text) return text print(s) res = process(s, dct) print(res)
раз два III* четыре пять - зайчик vIshel pogulatIII*
раз два (data3) четыре пять - зайчик v(data2)shel pogulat(data3)
Офлайн
списибо
не работает это именно то о чем я испрашивал
как написать правило объхода замены символа
import re dct = { 'I': '(data2)', 'I I I / *': '(data3)' } s = 'р а з д в а I I I * ч е т ы р е п я т ь - з а й ч и к v I s h e l p o g u l a t I I I *' def process(text, dct): for k, v in dct.items(): text = re.sub(k, v, text) return text print(s) res = process(s, dct) print(res)
<tag>III</tag>ну оно раздолбает этот таг по символам….
Отредактировано Genabox (Янв. 21, 2023 21:03:13)
Офлайн
Genaboxперед обработкой строку можно привести в нормальный вид
ну оно раздолбает этот таг по символам….
import re dct = { 'I I I \*': '(data3)', 'I': '(data2)', } s = 'р а з д в а I I I * ч е т ы р е п я т ь - з а й ч и к v I s h e l p o g u l a t I I I *' def process(text, dct): for k, v in dct.items(): text = re.sub(k, v, text) return text print(s) res = process(s, dct) print(res)
р а з д в а I I I * ч е т ы р е п я т ь - з а й ч и к v I s h e l p o g u l a t I I I *
р а з д в а (data3) ч е т ы р е п я т ь - з а й ч и к v (data2) s h e l p o g u l a t (data3)
Process finished with exit code 0
Офлайн
что в первую очередь меняется, что во вторуютак и есть
Офлайн
import re dct = { 'I I I': '(data3)', 'I': '(data2)', } s = 'I р а з д в а I I I ч е т ы р е п я т ь - з а й ч и к v I s h e l p o g u l a t I I I ' def process(text, dct): for k, v in dct.items(): text = re.sub(k, v, text) return text print(s) res = process(s, dct) print(res)
Отредактировано Genabox (Янв. 21, 2023 22:09:23)
Офлайн
нужно искать текст между тэгами и его заменять
а потом заенять все остальное за исключением этих тэгов
например <rom>I</rom>
спасибо за помощь, еще потом покопаю
Отредактировано Genabox (Янв. 21, 2023 22:39:42)
Офлайн