在蟒蛇&其他編程語言有一種方法在一個字符串之間的替代變量的值很容易,這樣,JS字符串格式化操作 - 替換一個變量值的字符串
name="python"
a="My name is %s"%name
print a
>>>My name is python
我如何做到這一點Java的腳本?普通的舊字符串連接對於大字符串來說非常複雜。
在蟒蛇&其他編程語言有一種方法在一個字符串之間的替代變量的值很容易,這樣,JS字符串格式化操作 - 替換一個變量值的字符串
name="python"
a="My name is %s"%name
print a
>>>My name is python
我如何做到這一點Java的腳本?普通的舊字符串連接對於大字符串來說非常複雜。
有沒有原生的方式來做到這一點。在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
console.log沒有字符串格式化/替換。 var myobject = {foo:'bar',x:'y'}; console.log(「myobject =%o」,myobject); console.log(「foo =%s」,myobject.foo); – keith73
這是不可能的JavaScript,因此實現這一目標的唯一途徑是串聯。另一種方法可能是用正則表達式替換特定的值。
另一種方法是使用CoffeeScript。他們有像紅寶石般的糖
name = "javascript"
a = "My name is #{name}"
console.log a
# >>> My name is javascript
使用節點,這應該工作。
[[email protected]] ~ :: node
> var str = 'string substitute!';
> console.log('This is a %s', str);
This is a string substitute!
>
這是2017年,我們有template literals。
var name = "javascript";
console.log(`My name is ${name}`);
// My name is javascript
它採用回剔沒有單引號。
您可能會發現該問題和答案也很有用。 JavaScript equivalent to printf/string.format
應該接受答案,但問題在5年前問過。 –
我很喜歡這個答案,但是我們不幸生活在一個世界上,那裏有大量的ES6代碼,這是ES6及更高版本,不是嗎? –
可能重複的[String.Format in javascript?](http://stackoverflow.com/questions/2534803/string-format-in-javascript) – CodingIntrigue