Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 在Scala中向字符串添加单引号_String_Scala_Scala Collections - Fatal编程技术网

String 在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来说相当陌生,如果有人能为我们指出正确的方向,这将非常有帮助我认

我们正在尝试向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(“'”,“,”))