4

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

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

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

4

5 回答 5

17

现在是 2017 年,我们有模板文字

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

它使用引号而不是单引号

您可能会发现这个问题和答案也很有用。 JavaScript 等价于 printf/string.format

于 2017-03-24T14:27:53.173 回答
3

没有本地方法可以做到这一点。在 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
于 2013-10-01T07:15:41.347 回答
2

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

name = "javascript"
a = "My name is #{name}"
console.log a
# >>> My name is javascript
于 2013-10-01T07:29:34.360 回答
0

这在 javascript 中是不可能的,所以实现这一点的唯一方法是连接。另一种方法是用正则表达式替换特定值。

于 2013-10-01T07:16:43.077 回答
0

使用 Node,这应该可以工作。

[terryp@boxcar] ~  :: node
> var str = 'string substitute!';
> console.log('This is a %s', str);
This is a string substitute!
>
于 2014-07-10T02:08:24.703 回答