Javascript 如何用不同的单词替换字符串中的多个相同单词
我想用不同的单词替换字符串中的多个相同单词 比如说,Javascript 如何用不同的单词替换字符串中的多个相同单词,javascript,replace,Javascript,Replace,我想用不同的单词替换字符串中的多个相同单词 比如说, "What is your %s name and %s name" 如果将字符串用作第一个参数来替换,则我想将第一个'%s'替换为'first',将第二个'%s'替换为'last' var s = "What is ... "; var r = s.replace("%s", "first") .replace("%s", "last"); 此处的详细信息:如果使用字符串作为第一个参数来替换,则仅替换1 var s =
"What is your %s name and %s name"
如果将字符串用作第一个参数来替换,则我想将第一个
'%s'
替换为'first'
,将第二个'%s'
替换为'last'
var s = "What is ... ";
var r = s.replace("%s", "first")
.replace("%s", "last");
此处的详细信息:如果使用字符串作为第一个参数来替换,则仅替换1
var s = "What is ... ";
var r = s.replace("%s", "first")
.replace("%s", "last");
更多信息请点击此处:我认为这可能更干净:
['first', 'last'].forEach(function(tag) { x = x.replace('%s', tag); })
其中x是要替换为的字符串 我认为这可能更干净:
['first', 'last'].forEach(function(tag) { x = x.replace('%s', tag); })
其中x是要替换为的字符串 您可以使用并用作替换%s
的回调
此解决方案使用shift
,因为如果找到要替换的项,它将为每个调用提供数组中的值。通常需要一个字符串或函数作为replace
的第二个参数。此方案使用带有绑定数组的shift
进行替换
返回带有绑定对象的函数
bind()
方法创建一个新函数,在调用该函数时,将其this关键字设置为提供的值,并在调用新函数时提供的任何参数之前提供一个给定的参数序列
var s=“您的%s姓名和%s姓名是什么?”,
t=s.replace(/%s/g,[].shift.bind(['first',last']);
控制台日志(t)代码>您可以使用并用作替换%s
的回调
此解决方案使用shift
,因为如果找到要替换的项,它将为每个调用提供数组中的值。通常需要一个字符串或函数作为replace
的第二个参数。此方案使用带有绑定数组的shift
进行替换
返回带有绑定对象的函数
bind()
方法创建一个新函数,在调用该函数时,将其this关键字设置为提供的值,并在调用新函数时提供的任何参数之前提供一个给定的参数序列
var s=“您的%s姓名和%s姓名是什么?”,
t=s.replace(/%s/g,[].shift.bind(['first',last']);
控制台日志(t)
对于像OP这样的初学者,我恭敬地表示不同意。OP是在寻找答案还是教育?这怎么可能更简单呢?嗯['first','last'].forEach(tag=>x=x.replace('%s',tag))
会更“简单”,但在跑步之前必须先走路……对于像OP这样的初学者,我很不同意。OP是在寻找答案还是教育?这怎么可能更简单呢?嗯['first','last'].forEach(tag=>x=x.replace('%s',tag))
会更“简单”,但在跑步之前必须先走路…不是我,但你的答案可以解释一下这是如何工作的。对于初学者来说,func.bind()
是如何工作的@约翰·斯卡尔,也许现在能更好地解释,更好。还可以提到[].shift()
实际上是Array.prototype.shift()
,因为[]
是一个数组文本。我在第一行用一个链接写了它。顺便说一句,有一个类似的“胖箭头”方法:t=s.replace(/%s/g,()=>['first',last'].shift())不是我,但你的回答可以解释一下这是怎么回事。对于初学者来说,func.bind()
是如何工作的@约翰·斯卡尔,也许现在能更好地解释,更好。还可以提到[].shift()
实际上是Array.prototype.shift()
,因为[]
是一个数组文本。我在第一行用一个链接写了它。顺便说一句,有一个类似的“胖箭头”方法:t=s.replace(/%s/g,()=>['first',last'].shift())代码>