删除以' vi开头的子字符串 - '在字符串内

时间:2017-11-17 12:45:57

标签: javascript regex

我怎样才能离开' mystr'结果'。我相信它可以用正则表达式完成,但我不知道该怎么做。

myStr的

var mystr = 'football vi-cnn-sel vi-sky test vi-axn red';

结果

var result = 'football test red';

此致 埃利奥·费尔南德斯

3 个答案:

答案 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);




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