删除标记字符串的前缀和后缀文本

Remove prefix and suffix text of a token string

本文关键字:后缀 文本 前缀 字符串 删除      更新时间:2023-09-26

我在这里寻求您的帮助,这是我的问题:

我在文本编辑器中创建了一个令牌,然后选择该令牌进行编辑。但我担心的是,所选的文本不仅包含令牌,还包含其他额外的文本。因此,我要问的是,如何删除令牌前后的额外文本?我将提供一个令牌结构的例子,让您理解我的想法。

这是令牌的值:[[Token: there is some text]]

令牌包含"[["answers"]]"内的文本,包括引号!

这就是选择令牌时应该是什么,但如果用户不仅选择了文本中的令牌字符串,而且还选择了包含令牌的整个文本,该怎么办?

这就是这种情况的一个例子:

prefixtext[[Token: there is some text]]suffixtext

最后,我想从标记中删除前缀文本和后缀文本,以仅在从文本编辑器中选择标记时保留标记。

请使用java脚本来解决这个问题,并假设我已经从文本编辑器中获得了包含令牌的文本!

var str="Visit Microsoft!";
var n=str.replace("Microsoft","W3Schools");

尝试replace方法

尝试使用类似的regex

var txt='prefixtext[[Token: there is some text]]suffixtext';
      var re1='.*?';    // Non-greedy match on filler
      var re2='(''[.*?''])';    // Square Braces 1
      var p = new RegExp(re1+re2,["i"]);
      var m = p.exec(txt);
      if (m != null) {
         var sbraces1=m[1];
         document.write("("+sbraces1.replace(/</,"&lt;")+")"+"'n");
      }

JSFIDDLE演示