为了账号安全,请及时绑定邮箱和手机立即绑定

在 Visual Studio Code 中查找、存储和替换文本

在 Visual Studio Code 中查找、存储和替换文本

largeQ 2022-10-08 18:13:15
我的编辑器中有很多文本,括号中是引用。举个例子。“这是文本,欢迎来到我的文本 [11]。我们有几个来源 [23]。我能为你做什么 [33]”我想找到括号之间的每个数字,并用包含它的锚标记替换该数字,就像这样<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 = /\[.*?\]/gmlet result = document.match(regex);let array = resultvar 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 中完成吗?
查看完整描述

1 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

这段 PHP 代码完成了它:


<?php


$str = 'This is text, welcome to my text [11]. We have several sources [23]. What can I do for you [33]';


function addLink ($matches){

    $noBrackets = str_replace('[', '', $matches[0]);

    $noBrackets = str_replace(']', '', $noBrackets);

    $output = '<xref ref-type="bibr" rid="R'.$noBrackets.'">'.$matches[0].'</xref>';

    return $output;

}


$newString = preg_replace_callback('#\[\d+\]#', 'addLink', $str);


echo '<p>'.$newString.'</p>';


?>


查看完整回答
反对 回复 2022-10-08
  • 1 回答
  • 0 关注
  • 173 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信