如何替换字符串中的$1,$2
How to replace $1 , $2 in string
var params = ['tom' , 'harry'];
var string = 'hello $1 and $2 how aa are you $1 and $2';
What i tried
var params = ['tom' , 'harry'];
var string = 'hello $1 ,$2 how aa are you $1 , $2';
var temp;
for(var i = 0; i<params.length ; i++)
{
temp = string.replace(/[$1]+/g,params[i]);
}
Firefox控制台错误输出: "hello harry,harry2 how aa are you harry,harry2 "
最终输出:你好tom和harry,你们好吗tom和harry
一个解决方案:
string.replace(/'$1/g, params[0]).replace(/'$2/g,params[1])
更多的解释:
之所以把$1
写成'$1
,是因为$1, $2,...
在正则表达式中有特殊的含义。它们被认为是特殊字符。例如,如果你想搜索.
(点)在你的字符串那么你不能只是把.
在regex,因为在regex .
意味着匹配字符串内的任何字符(包括点太);因此,为了在字符串中找到.
,您必须在regex内的点前放置(斜杠'
),如'.
,以便regex引擎可以找到确切的.
字符。
使用SPLIT和JOIN代替-不总是需要使用
.replace
var params = ['tom' , 'harry'];
var string = 'hello $1 ,$2 how aa are you $1 , $2';
for(var i = 0; i<params.length ; i++)
{
var st = '$' +( i + 1);
string = string.split(st).join(params[i])
}
输出:"你好tom,harry,你好吗tom,harry "
这是一个灭绝的@muhammad imran解决方案与for循环
var params = ['tom' , 'dick', 'harry'];
var string = 'hello $1 ,$2 how $3 aa are you $1 , $2 , $3';
var stringToFire = ''
for(var i = 0 ;i<params.length;i++)
{
var forDollar = i+ 1;
var forReplacer = i;
stringToFire = stringToFire + '.replace(/''$dollarNumber/g, params[donkey])'.replace('dollarNumber',forDollar).replace('donkey',forReplacer );
}
var ultimateString = 'string'+stringToFire
eval(ultimateString);
最终输出:你好tom和harry,你们好吗tom和harry
var params = ['tom', 'harry'];
var string = "hello $1 en $2";
string = string.replace("$1", params[0]).replace("$2", params[1]);
要回答这个问题,如果您真的想用tom替换$1,您可以搜索'$1(注意转义的$)并替换为tom。
我有一种感觉,你真正的意思是在$1和$2出现的位置有一些文本。如果是这种情况,你真的不需要找到并替换;您只需要在这些位置输出变量。
我正在寻找同样的问题,这就是我最终得到的:
const params = ['tom' , 'harry'];
const string = 'hello $1 and $2 how aa are you $1 and $2';
const result = params.reduce((acc, val, i) => acc.replace(new RegExp(`''$${i+1}`, 'g'), val), string);
console.log(result);
相关文章:
- 如何在javascript中用字符串变量替换一段文本
- Javascript RegExp - 匹配字符串并替换
- 无法从字符串中替换 (TAB)
- 将字符串值替换为变量
- JavaScript:从字符串中替换 ↵
- JavaScript 字符串将 ( 替换为 (.
- JS字符串仅替换每隔一次
- Javascript/Jquery 获取子元素,减去字符串并替换
- 如何在另一个字符串之前替换字符串
- 在 JavaScript 字符串中将“-”替换为“--”
- 如何创建字符串“;替换所有“;作用
- 使用字符串的替换方法时是否有长度限制
- javascript/jQuery查找所有字符串并替换-但是
- JavaScript ReGeX:在两个字符串之间替换匹配的字符串
- 如何在Javascript中基于字符串值替换背景颜色
- 用解析的查询字符串对象替换HTML文本
- 我如何在js字符串中替换[0][0]的内容
- Javascript字符串格式化-替换保存在变量中的字符串
- Emacs -用另一个字符串模式替换一些字符串模式
- 如何在查询mongodb时将字符串值替换为斜杠