本文來說一下Scala的字符串操作,在第一次使用Scala字符串的時候,基本都是用字符串相加(+)來實現的,後來發現了Scala字符串還有插值,瞬間感覺自己low了,所以要特別記錄一下。
Scala字符串
Scala的String構建在Java的String上,並向Java的String添加了字符串插值等附加功能。
例子
下面的示例說明了使用雙引號的字符串常量:
object Main {
def main(args: Array[String]) {
val hello = "Hello"
println(hello);
}
}
字符串插值
字符串插值是一種將字符串中的值與變量組合的機制,Scala中的插值符號是在字符串的第一個雙引號之前添加的s前綴,然後可以使用美元符號運算符$引用變量。以下代碼說明了字符串插值的用法:
object Main {
def main(args: Array[String]) {
val bookTitle = "Scala" // creating a String
// String interpolation
println(s"Book Title is ${ bookTitle}" );
}
}
這裏再秀一段我實際場景中的應用:
val sparkSession = SparkSessionUtils.getOrCreateSparkSession(CasesConstant.APP_NAME, "yarn-cluster")
import sparkSession.implicits._
sparkSession.sql(
s"SELECT *, DATE_SUB('${data_case_date}', date_gap) AS data_date FROM case_data_update_intime_temp"
).createOrReplaceTempView("case_data_update_intime_temp")