我有一个问题是将动态值添加到字符串中。
例如:
My name is < NAME >
现在我想用我的名字替换NAME
所以我的字符串将成为:
My name is anything.
我怎么能做到这一点?
动态部分将始终位于<>
之间。
答案 0 :(得分:2)
var result = "My name is < NAME >".replace("< NAME >", "anything");
你想要这个吗?或者你正在寻找更复杂的东西来填充< and >
之间的所有单词?类似的东西:
var matches = "My name is < NAME > < SURNAME >".match(/<[^>]+>/g);
如果您想更换多个部件,可以这样做:
var replacer = function (str)
{
if (str === '< NAME >')
{
return 'anything';
}
else
{
return 'nothing';
}
};
var replaced = 'My name is < NAME > < SURNAME >'.replace(/<[^>]+>/g, replacer));
在这里测试:
更完整的例子:
var name = 'anything';
var surname = 'anyone';
var myInputText = "My name is < NAME > < SURNAME >";
var replaced = myInputText
.replace(/<[^>]+>/g,
function (str)
{
if (str === '< NAME >')
{
return name;
}
else if (str === '< SURNAME >')
{
return surname;
}
else
{
return '***error***';
}
}
);
我使用的是围绕name
和surname
变量“关闭”的JavaScript匿名函数。
答案 1 :(得分:0)
"I have <name>".replace(/<name>/, 'Any Thing')
结果为I have Any Thing
答案 2 :(得分:0)
var str = "My name is < NAME >";
str = str.replace("NAME", "anything");
答案 3 :(得分:0)
/< NAME >/.replace("My name is < NAME >", "anything")
是regualr表达式的基本形式,显然你可以开始操纵regexp来匹配其他东西。 W3Schools是Javascript中RegExp的一个很好的起点,这个online tester非常好。