У меня в редакторе много текста со ссылками в скобках. Так например.
«Это текст, добро пожаловать в мой текст [11]. У нас есть несколько источников [23]. Что я могу сделать для вас [33]»
I хочу найти каждое число между скобками и заменить это число содержащим его тегом привязки, например, <xref ref-type="bibr" rid="R11">[11]</xref>
, а затем <xref ref-type="bibr" rid="R23">[23]</xref>
Теперь я нахожу числа в скобках с помощью регулярного выражения ( \ [ . *?] ) в редакторе, а затем скопируйте и вставьте то, что я хочу заменить. Это занимает много времени, если требуется заменить более 100 ссылок.
Есть ли способ найти, сохранить в переменной, а затем заменить указанной переменной?
Одно из возможных решений, которое я придумал, - использовать JavaScript, однако я не могу заставить его работать правильно, как видно из моих выводов.
Код:
const document = 'This is text, welcome to my text [11]. We have several sources [23]. What can I do for you [33]'
const regex = /\[.*?\]/gm
let result = document.match(regex);
let array = result
var arrayLength = array.length;
console.log(arrayLength);
for (var i = 0; i < arrayLength; i++) {
console.log(document.replace(regex, '<xref ref-type="bibr" rid="R' + array[i] + '">' + array[i] + "</xref>"));
}
Вывод в консоль:
This is text, welcome to my text <xref ref-type="bibr" rid="R[11]">[11]</xref>. We have several sources <xref ref-type="bibr" rid="R[11]">[11]</xref>. What can I do for you <xref ref-type="bibr" rid="R[11]">[11]</xref>
This is text, welcome to my text <xref ref-type="bibr" rid="R[23]">[23]</xref>. We have several sources <xref ref-type="bibr" rid="R[23]">[23]</xref>. What can I do for you <xref ref-type="bibr" rid="R[23]">[23]</xref>
This is text, welcome to my text <xref ref-type="bibr" rid="R[33]">[33]</xref>. We have several sources <xref ref-type="bibr" rid="R[33]">[33]</xref>. What can I do for you <xref ref-type="bibr" rid="R[33]">[33]</xref>
Как видите, мне также нужно удалить скобки из атрибута rid = . Я бы тоже хотел сделать это в самом редакторе. Если это невозможно, я решил, что могу использовать node.js и записать в файл. Любое другое решение также поможет. Следует ли это делать в Python?