JS字符串格式化操作 - 将变量值替换为字符串

时间:2013-10-01 07:11:23

标签: javascript

在python&其他编程语言有一种方法可以轻松地在字符串之间替换变量的值,就像这样,

name="python"
a="My name is %s"%name
print a
>>>My name is python

如何在java脚本中实现此目的?对于大字符串,普通的旧字符串连接非常复杂。

5 个答案:

答案 0 :(得分:4)

2017年,我们有template literals

var name = "javascript";
console.log(`My name is ${name}`);
// My name is javascript

它使用后退而非单引号

您可能会发现此问题和答案也很有用。 JavaScript equivalent to printf/string.format

答案 1 :(得分:2)

没有本地方法可以做到这一点。在javascript中,您可以:

var name = 'javascript';
var a = 'My name is ' + name;
console.log(a);

>>>My name is javascript

否则,如果您真的想使用字符串格式化程序,则可以使用库。 例如,https://github.com/alexei/sprintf.js

使用sprintf库:

var name = 'javascript';
sprintf('My name is %s', name);

>>>My name is javascript

答案 2 :(得分:2)

另一种方法是使用CoffeeScript。他们有像红宝石一样的糖

name = "javascript"
a = "My name is #{name}"
console.log a
# >>> My name is javascript

答案 3 :(得分:0)

这在javascript中是不可能的,因此实现此目的的唯一方法是连接。另一种方法是用regexp替换特定的值。

答案 4 :(得分:0)

使用Node,这应该有效。

[terryp@boxcar] ~  :: node
> var str = 'string substitute!';
> console.log('This is a %s', str);
This is a string substitute!
>