【发布时间】:2018-05-06 20:15:29
【问题描述】:
我是 Scala 的新手,所以请随时为我指明文档的方向,但我无法在我的研究中找到这个问题的答案。
我正在使用 scala 2.11.8 和 Spark2.2,并尝试使用插值法创建包含 dateString1_dateString2(带下划线)的动态字符串,但存在一些问题。
val startDt = "20180405"
val endDt = "20180505"
这似乎有效:
s"$startDt$endDt"
res62: String = 2018040520180505
但这失败了:
s"$startDt_$endDt"
<console>:27: error: not found: value startDt_
s"$startDt_$endDt"
^
我希望这个带有转义的简单解决方法可以工作,但不会产生预期的结果:
s"$startDt\\_$endDt"
res2: String = 20180405\_20180505
请注意,此问题与 Why can't _ be used inside of string interpolation? 的不同之处在于,此问题正在寻找可行的字符串插值解决方案,而上一个问题更侧重于 scala 内部。
【问题讨论】:
-
您是否尝试使用原始插值?
-
s"${startDt}_${endDt}"
-
@RamanMishra 我不认为这是该问题的重复。这个问题是关于使用 _ 匿名占位符参数。这是关于在 $ 变量的末尾粉碎 _ 并查找另一个。
标签: scala string-interpolation scala-2.11 apache-spark-2.2