scala中的字符串格式

时间:2016-05-03 11:00:58

标签: scala string-formatting

我正在寻找Scala中的字符串格式解决方案。我有以下字符串:

str =  {"card_id" : %s,"cust_id": %s,"card_info": {"card_type" : "%s","credit_limit": %s},"card_dates" : [{"date":"%s" },{"date":"%s" }]} 

在这里,我想用字符串值替换"%S"。 Scala中是否有任何函数可以应用该函数并获得正确的结果?

我已经尝试了string.format("%s", str, arrayofvalue),但它没有给出正确的结果。

3 个答案:

答案 0 :(得分:1)

你可以简单地使用:

val str = """{"card_id" : %s,"cust_id": %s,"card_info": {"card_type" : "%s","credit_limit": %s},"card_dates" : [{"date":"%s" },{"date":"%s" }]}"""
str.format(arrayofvalue:_*)

请注意,我使用"""str中使用双引号作为文字。

答案 1 :(得分:1)

在scala中你可以这样做

val i = 123
val s = " a string"

val str = s"Here's$s $i" // result: Here's a string 123

答案 2 :(得分:0)

Scala提供了几种字符串插值方法。

S"" - String Interpolator

s"$var text ${var.func}"

请参阅http://docs.scala-lang.org/overviews/core/string-interpolation.html

的String.format

Scala还支持字符串上的.format方法

scala> "%s - %d".format("test", 9)
res5: String = test - 9

http://alvinalexander.com/scala/scala-string-formatting-java-string-format-method

使用JSON lib

在这里创建JSON时,您应该使用许多JSON库,例如

这将比字符串插值更安全地完成此任务。