scala中的字符串插值

Posted bitcarmanlee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scala中的字符串插值相关的知识,希望对你有一定的参考价值。

1.字符串插值三种方式

从2.10版本开始,scala支持字符串插值。所谓的字符串插值,即允许开发人员将变量引用直接插入处理过的字面字符中,且提供了三种插值方式:s,f,raw。下面我们来测试一下这三种方式。

2.s方式插值

在任何字符串前加上s,就可以在字符串中直接使用变量进行替换。看个例子

scala> val name = "lili"
name: String = lili

scala> println(s"my name is: $name")
my name is: lili

同时,这种方式还支持处理表达式。

scala> val age = 12
age: Int = 12

scala> println(s"my age is: $age+1")
my age is: 13

scala> println(s"$age>10")
true

3.f方式插值

在字符串前面加上f,类似于实现了C语言中的printf功能,可以对字符串进行初步的格式化。

scala> val size = 1.80
size: Double = 1.8

scala> println(f"size is: $size%.3f meters")
size is: 1.800 meters

4.raw方式插值

raw插值器与s插值器用法类似,不同的是它不在字符串中进行任何字面转义。看个例子

scala> val s1 = "a\\tb\\nc"
s1: String =
a	b
c

scala> val s2 = raw"a\\tb\\nc"
s2: String = a\\tb\\nc

raw插值的这种方式,当我们想输出\\n,\\t等特殊字符又不对其进行转义的时候,就特别好用。

以上是关于scala中的字符串插值的主要内容,如果未能解决你的问题,请参考以下文章

Scala字符串插值 - StringContext

scala的插值器

如何在 jOOQ 中使用 Scala 的字符串插值?

在Scala spark中实现动态字符串插值?

模板字面量(模板字符串)

模板字面量(模板字符串)