JavaScript -使用变量替换子字符串
JavaScript - replace substring using a variable
var prefix = 'pre-',
number = 1,
combined = prefix + number,
prefixRemoved = combined.replace('/' + prefix + '/g', '');
console.debug(prefixRemoved);
如何从combined
中移除prefix
?我仍然得到pre-1
作为结果。
您可以像这样将字符串传递给replace()
:
prefixRemoved = combined.replace(prefix, '');
或者如果您需要正则表达式上的参数,您可以从字符串创建一个regexp,如下所示:
prefixRemoved = combined.replace(new RegExp(prefix, "g"), '');
或者,您可以先创建regex对象:
var re = new RegExp(prefix, "g");
prefixRemoved = combined.replace(re, '');
您需要创建RegExp对象:
var prefix = 'pre-',
number = 1,
combined = prefix + number,
prefixRemoved = combined.replace(new RegExp(prefix, 'g'), '');
console.debug(prefixRemoved);
为什么会这样:
// this syntax without quotes is shorthand for creating a RegExp object
typeof /aaaa/; // object
/a/ instanceof RegExp; // true
// since String.replace can take a string or a RegExp, it has to assume that any string is just a string
typeof "/aaaa/"; // string
您不需要正则表达式。只需按原样使用字符串:
var prefix = 'pre-',
number = 1,
combined = prefix + number,
prefixRemoved = combined.replace(prefix, '');
console.debug(prefixRemoved);
实际上不需要使用正则表达式,因为您只是执行字符串替换。
prefixRemoved = combined.replace(prefix, '');
实际操作:http://jsfiddle.net/jjYC8/
你需要prefixRemoved = combined.replace(prefix, '');
var prefix = 'pre-',
number = 1,
combined = prefix + number,
prefixRemoved = combined.replace(prefix, '');
console.debug(prefixRemoved);
直接调用变量。
例子: http://jsfiddle.net/jaffc/
相关文章:
- 如何用jquery替换字符串中可能变化的字符
- 用数字单位替换字符串的一部分
- 替换字符串javascript中的所有特殊字符..
- 替换字符串的脚本;在某些网站上不起作用
- 使用javascript替换字符串中除第一个和最后一个之外的所有字符
- 替换字符串中的占位符值
- 用HTML元素替换字符串的一部分
- JavaScript来替换字符串中的变量
- 如何替换字符串中最后一个出现的变量
- 在JavaScript中,如何用一个字符替换字符串中的所有字母
- 替换字符串中的数字
- 如何使用JavaScript Regex替换字符串中双引号之间的文本
- JavaScript:替换字符串两边的字符
- 用JQuery/Javascript替换字符串中的所有逗号
- 替换字符串的下一个匹配项
- JavaScript 不会替换字符串的最后一个符号
- 在 JavaScript 中替换字符串中的字母
- 修复了如何在容器中查找和替换字符串的功能
- 需要在 javascript 倒计时达到 0 后替换字符串
- j如何从给定字符串的一部分替换字符串