2

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

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

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

令牌包含“[[”和“]]”内的文本,包括引号!

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

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

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

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

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

4

1 回答 1

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

尝试replace方法

尝试使用像这样的正则表达式

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 演示

于 2013-08-30T17:42:07.300 回答