我怎样才能离开' mystr'结果'。我相信它可以用正则表达式完成,但我不知道该怎么做。
myStr的
var mystr = 'football vi-cnn-sel vi-sky test vi-axn red';
结果
var result = 'football test red';
此致 埃利奥·费尔南德斯
答案 0 :(得分:3)
您可以使用正则表达式\b(vi\-\[a-zA-Z\-\]*)
。
使用+(?= )
var mystr = 'football vi-cnn-sel vi-sky test vi-axn red vitest';
var result = mystr.replace(/\bvi\-[a-zA-Z\-]*/g,'').replace(/ +(?= )/g,'');
console.log(result);

答案 1 :(得分:1)
您可以拆分字符串并过滤掉匹配
的字词var mystr = 'football vi-cnn-sel vi-sky test vi-axn red';
mystr.split(' ').filter(function(v){
if(!v.match("vi-")){
return v;
}
});
答案 2 :(得分:0)
您可以使用/( vi-\S+)/g
正则表达式,并用空字符串替换所有找到的匹配项。
var myStr = "football vi-cnn-sel vi-sky test vi-axn red";
var result = myStr.replace(/( vi-\S+)/gi, "");
console.log(result);

S+
- 匹配所有空白字符g
- 匹配所有出现次数(不会在第一次出现时停止)i
- 使用不区分大小写的匹配(不确定是否需要)。如果没有必要,您可以将其删除