我有以下字符串:
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"
答案 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);
}
全部......:)