Заменить текст постепенно на построчную - PullRequest
0 голосов
/ 09 января 2019

Постепенно заменять текст построчно (возобновляя подсчет для каждой строки).

Я пробовал различные решения, такие как замена столбца Notepad ++, инкрементная замена TextPad и скрипт Python, как указано здесь Notepad ++, постепенно заменяющий , но ни одно из них не работало так, как я хотел (они не заменяли бы ни полную строку, ни перезапуск с каждой строки).

Я дошел до замены текстом поиска, но не знаю, как его увеличить.

FIND: (\[2s\])
REPLACE: <br /><b class="num">\1</b>

Итак, я хочу это:

test text various [2s] tes text various  [2s] tes text various [2s] to replace w abc-mine1.txt , [2s] to replace w abc-mine1.txt , [2s] to replace w abc-mine1.txt , [2s] to replace w
test text various [2s] tes text various  [2s] tes text various [2s]
test text various [2s]

Чтобы стать этим

test text various <br /><b class="num">1</b> tes text various  <br /><b class="num">2</b> tes text various <br /><b class="num">3</b> to replace w abc-mine1.txt , <br /><b class="num">4</b>] to replace w abc-mine1.txt , <br /><b class="num">5</b> to replace w abc-mine1.txt , <br /><b class="num">6</b> to replace w
test text various <br /><b class="num">1</b> tes text various  <br /><b class="num">2</b> tes text various <br /><b class="num">3</b>
test text various <br /><b class="num">1</b>

1 Ответ

0 голосов
/ 09 января 2019

Я думаю, что вы не можете сделать это с обычным регулярным выражением поиска и замены.

Но если вы можете установить Python Script Plugin , то следующий код должен помочь:

repstr = "[2s]"
lcount = editor.getLineCount()  
newstr = ""
i = 0
while i < lcount:
    actline = editor.getLine(i)
    counter = 1
    while actline.find(repstr) > 0:
        actline = actline.replace(repstr, "<br /><b class=\"num\">"+str(counter)+"</b>",1)
        counter += 1
    newstr = newstr + actline
    i += 1

editor.clearAll();
editor.appendText(newstr);
...