myString.replace( VARIABLE, “”) ...但在全球范围内
myString.replace( VARIABLE, "") ...... but globally
如何使用
变量从字符串中删除子字符串的所有实例?(要删除,我认为最好的方法是在全球范围内替换,什么都没有......对吧?
如果我有这 2 个字符串,
myString = "This sentence is an example sentence."
oldWord = " sentence"
然后像这样
myString.replace(oldWord, "");
仅替换字符串中变量的第一个实例。
但是如果我像这样添加全局 g myString.replace(/oldWord/g, "");
它不起作用,因为它认为在这种情况下 oldWord 是子字符串,而不是变量。如何使用变量执行此操作?
好吧,你可以使用它:
var reg = new RegExp(oldWord, "g");
myString.replace(reg, "");
或者简单地:
myString.replace(new RegExp(oldWord, "g"), "");
传递变量时,必须使用构造函数而不是文字语法。坚持使用文本字符串的文字语法,以避免混淆转义语法。
var oldWordRegEx = new RegExp(oldWord,'g');
myString.replace(oldWordRegEx,"");
这里不需要使用正则表达式:将字符串拆分为要删除的子字符串的匹配项,然后将其余部分连接在一起:
myString.split(oldWord).join('')
在 OP 的示例中:
var myString = "This sentence is an example sentence.";
var oldWord = " sentence";
console.log(myString.split(oldWord).join(''));
根据 MDN 的文档,您可以这样做:
var re = /apples/gi;
var str = 'Apples are round, and apples are juicy.';
var newstr = str.replace(re, 'oranges');
console.log(newstr); // oranges are round, and oranges are juicy.
其中/gi 告诉它执行全局替换,忽略大小写。
相关文章:
- Angularjs无法将单选按钮与嵌套范围内的模型绑定
- 如何使用D3生成特定范围内的随机颜色
- 将自定义css保持在角度范围内
- Angular JS-文本框未在独立范围内更新
- cookie不在网站范围内
- 获取给定JavaScript范围内的解析函数
- 如何在JavaScript中使用此函数对范围内的所有数字求和
- JavaScript-仅验证数值并且在范围内
- JS:从数组中查找特定范围内的最低/最高数字
- 试图检查表单中的值是否为一个设定范围内的数字
- 在十进制范围内搜索
- 基于日期范围的一组日期范围内的天数
- 如何在 Google 应用脚本中 sendEmail 函数的范围内的唯一非空白列中返回值
- 将数组传递给函数或确保它在范围内
- socket.io 客户端是否必须存在于全局范围内
- 查找某个日期范围内的可用天数
- 网站范围内jQuery/javascript选择器的最佳实践
- 如果指令包含在另一个指令中,我如何在隔离范围内添加双向数据绑定属性
- JS日期对象在某个范围内的百分比
- myString.replace( VARIABLE, “”) ...但在全球范围内