删除令牌字符串的前缀和后缀文本

时间:2013-08-30 17:34:58

标签: javascript

我在这里请求你的帮助,这是我的问题:

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

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

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

这就是选择时令牌应该是什么,但是如果用户没有选择文本中的令牌字符串,而是选择了包含令牌的整个文本呢?

这种情况的一个例子:

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

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

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

1 个答案:

答案 0 :(得分:1)

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 DEMO