var aString = "This is a string";
var find = "is"; // or 'This' or 'string'
aString = aString.replace(new RegExp("(^|\\s+)" + find + "(\\s+|$)", "g"), "$1");
console.log(oneString);
Единственный случай, когда это не идеально, это когда вы заменяете последнее слово в предложении.Он оставит один пробел в конце, но я полагаю, вы могли бы проверить это.
Модификатор g
должен заставить replace
заменять все экземпляры, а не только первый.
Добавьте модификатор i
, чтобы сделать его нечувствительным к регистру.
Если вы также хотите, чтобы это работало со строками, такими как:
"This has a comma, in it"
Измените регулярное выражениедо:
var find = "comma";
new RegExp("(^|\\s+)" + find + "(\\s+|$|,)", "g")