用js替换空字符串的字符串

时间:2016-07-28 08:56:15

标签: javascript regex

我有以下字符串:

var string = "Deluxe 3 Bed  Private"

和以下代码替换"私有"带空格的单词:

var rooms = ["Basic", "Standard", "Superior", "Deluxe", "Private"];
//var room = "room";
vwo_$(document).ready(function(){

  WRI.eventBus.on('ui:microsite:availabilityStore:refresh', function(){
    var roomName = $(".roomnamelink");
    roomName.each(function(){
      for (var i = 0; i < rooms.length; i++) {
        var pattern = "[^\s]" + rooms[i];
        var regex = new RegExp(pattern);
        string = string .replace(regex, " ");
      }
    });
  })

但我的正则表达可能是错误的。

如果单词&#34; Private&#34;在我希望用空格替换的字符串中找到。

var string = "Deluxe 3 Bed"

3 个答案:

答案 0 :(得分:2)

  

我想用空格替换房间数组中的任何单词   你可以使用一个正则表达式来表示所有可能的单词

var regex = /\b(Basic|Standard|Superior|Deluxe|Private)\b/gi

并将其与String#replace方法

一起使用
var string = "Deluxe 3 Bed  Private"
string.replace(regex, '')

答案 1 :(得分:1)

您可以搜索空格和要替换的单词。

var re = /[\s]*?private/gi,
    str = 'Deluxe 3 Bed  Private',
    subst = ''; 
 
var result = str.replace(re, subst);
console.log('#' + result + '#');

答案 2 :(得分:1)

你可以使用如下的非常简单的代码来实现:

 var string = "Deluxe 3 Bed  Private"
 //checking whether private is in String or not.

 if (wordInString(string, 'Private')) 
   { 
    string = string.replace('Private', ' ');
   }
   alert(string);

        function wordInString(s, word) {
            return new RegExp('\\b' + word + '\\b', 'i').test(s);
        }

全部......:)