全局替换时允许的变量标识符
Is variable identifier allowed on global replace?
当变量传递给全局替换函数时,它似乎将其解析为字符串而不是变量。换句话说,这段代码并没有像期望的那样工作:
var s = "stack overflow";
var t = "o";
var r = s.replace(/t/gi,"");
//returns: sack overflow
//when should return: stack verflw
按预期替换t
而不是o
。我注意到在正则表达式的一些例子,这可能是太重了,并认为这可能是一个简单的修复。我试过'/t'/gi
,但没有多大作用。如果有人知道是否以及如何这是可能的,请提供答案。谢谢。
在"/t"中,这是指包含一些字母而不是对象或变量的模式。这应该是合适的方式,
var s = "stack overflow";
var t = new RegExp("o", "g");
var r = s.replace(t,"");
alert(r);
jsFiddle
您应该使用新的RegExp()方法:
var s = "stack overflow";
var t = "o";
var r = new RegExp(t,'gi');
s.replace(r,'');
相关文章:
- 将函数的上下文应用于javascript变量
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- 将PHP变量传递给jQuery时遇到问题
- 如何通过ajax刷新JSF填充的javascript变量
- 参数变量出现ngTable指令问题
- 通过javascript重定向html传递php变量
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 未捕获的SyntaxError:具有服务器变量的意外标识符
- 将变量的值分配给我的对象标识符 JSON
- 在对象中使用变量作为标识符
- 标识符和变量之间的区别(在 JavaScript 中)
- 对函数表达式和我分配函数表达式的变量使用相同的标识符是否存在任何问题
- Flash CS4错误1084:变量之前应为标识符
- 如何在标识符名称和字符串变量中放置变量
- 使用变量/参数作为数组标识符
- 全局替换时允许的变量标识符
- 使用JavaScript变量作为对象标识符
- Jquery如何使用变量作为.change()函数的标识符
- 在javascript中意外的标识符,但我已经声明了变量