Scala - 将包含空格的Windows文件路径写为字符串文字

时间:2015-06-16 22:35:02

标签: scala path escaping filepath string-literals

我需要在Scala中创建一些包含空格的Windows文件路径到字符串文字中。我已经尝试用双引号包装整个路径并用双引号将整个路径包装起来,每个目录名都有一个带单引号的空格。现在它想要一个转义角色为" \ Jun"在这两个地方,我都不知道为什么。

以下是字符串:

    val input = "R:\'Unclaimed Property'\'CT State'\2015\Jun\ct_finderlist_2015.pdf"
    val output = "R:\'Unclaimed Property'\'CT State'\2015\Jun"

这是最新的错误: enter image description here

2 个答案:

答案 0 :(得分:7)

问题在于\字符,必须进行转义。 这应该有效:

val input = "R:\\Unclaimed Property\\CT State\\2015\\Jun.ct_finderlist_2015.pdf"
val output = "R:\\Unclaimed Property\\CT State\\2015\\Jun"

答案 1 :(得分:4)

创建字符串文字的更简洁方法是使用三引号。

您可以直接将字符串包装在三引号中,而无需转义特殊字符。你可以在其中放入多行字符串。 编码和阅读更容易。

例如

val input =

"""
  |R:\Unclaimed Property\CT State\2015\Jun.ct_finderlist_2015.pdf
"""

要向字符串添加变量,请通过添加“$ variableName”来执行以下操作。

val input =

s"""
  |R:\Unclaimed Property\$variablePath\CT State\2015\Jun.ct_finderlist_2015.pdf
"""