我在这里请求你的帮助,这是我的问题:
我在文本编辑器中创建了一个令牌,然后选择令牌进行编辑。但我担心的是,所选文本不仅包含令牌,还包含其他额外文本。那么我要问的是如何删除令牌之前和之后的额外文本?我将提供令牌结构的示例,以便您理解我的想法。
这是令牌的价值:
[[Token: there is some text]]
令牌包含“[[”和“]]”内的文字,包括引号!
这就是选择时令牌应该是什么,但是如果用户没有选择文本中的令牌字符串,而是选择了包含令牌的整个文本呢?
这种情况的一个例子:
prefixtext[[Token: there is some text]]suffixtext
最后,我想从令牌中删除前缀文本和后缀文本,以便仅在从文本编辑器中选择时保留令牌。
请使用java脚本解决此问题,并假设我已经获得了包含来自文本编辑器的令牌的文本!
答案 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(/</,"<")+")"+"\n");
}