我正在寻找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)
,但它没有给出正确的结果。
答案 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"$var text ${var.func}"
请参阅http://docs.scala-lang.org/overviews/core/string-interpolation.html
Scala还支持字符串上的.format
方法
scala> "%s - %d".format("test", 9)
res5: String = test - 9
http://alvinalexander.com/scala/scala-string-formatting-java-string-format-method
在这里创建JSON
时,您应该使用许多JSON
库,例如
这将比字符串插值更安全地完成此任务。