在python&其他编程语言有一种方法可以轻松地在字符串之间替换变量的值,就像这样,
name="python"
a="My name is %s"%name
print a
>>>My name is python
如何在java脚本中实现此目的?对于大字符串,普通的旧字符串连接非常复杂。
答案 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!
>