String 在Scala中向字符串添加单引号
我们正在尝试向Scala中一组字符串的每个元素添加单引号String 在Scala中向字符串添加单引号,string,scala,scala-collections,String,Scala,Scala Collections,我们正在尝试向Scala中一组字符串的每个元素添加单引号 val s : Set[String] = Set("abcd","cdef") 预期结果为val s:Set[String]=Set(“'abcd'”、“'cdef'”) 尝试了多种方法 方法1: s.map(x => x.mkString("'", "', '", "'")) 方法2: s.map(x => '\'' + x + '\'') 对Scala来说相当陌生,如果有人能为我们指出正确的方向,这将非常有帮助我认
val s : Set[String] = Set("abcd","cdef")
预期结果为val s:Set[String]=Set(“'abcd'”、“'cdef'”)
尝试了多种方法
方法1:
s.map(x => x.mkString("'", "', '", "'"))
方法2:
s.map(x => '\'' + x + '\'')
对Scala来说相当陌生,如果有人能为我们指出正确的方向,这将非常有帮助我认为Scala与您一直使用的任何一种语言之间没有太大的区别。 你可能想用的一件事是 然后你就可以写了
s.map(x => s"'$x'")
您不能将类似的模式用双引号括起来。因此,当涉及单引号或双引号包装时,请选择十六进制值。十六进制22表示双引号,十六进制27表示单引号。这很容易记住
scala> val sq = Integer.parseInt("27",16).toChar
sq: Char = '
scala> val dq = Integer.parseInt("22",16).toChar
dq: Char = "
scala> val s : Set[String] = Set("abcd","cdef")
s: Set[String] = Set(abcd, cdef)
scala> s.map(x => s"$sq$x$sq")
res14: scala.collection.immutable.Set[String] = Set('abcd', 'cdef')
scala> s.map(x => s"$dq$x$dq")
res15: scala.collection.immutable.Set[String] = Set("abcd", "cdef")
希望如此,这会增加这种场景的清晰性。方法2应该可以工作
s.map(x=>'\''+'\'+'\'''\''''''.
或者使用多行字符串s.map(x=>s''''$x'')
,这样你就不必转义了。在Replaproach1上尝试一下,您只需选择中间的元素:s.map(uu.mkString(“'”,“,”))