如何将字符串映射到字符列表

时间:2014-06-28 21:24:49

标签: scala

给定字符串“my_string”,如何将其转换为字符串列表:List("m", "y", "_"...)包含组件字符

3 个答案:

答案 0 :(得分:6)

如果你特别需要List[String],那么axel22的回答是好的。但请注意,字符串隐含地表现为Seq[Char],它已经允许您访问可能在List上使用的方法。例如,您可以执行以下操作:

"my_string".filter(_ != 'i') // Gives "my_strng"

换句话说,您通常可以像处理任何其他容器一样处理String,而无需先将其明确转换为一个容器。

答案 1 :(得分:5)

这应该可以解决问题:

"my_string".map(_.toString).toList

首先隐式将字符串转换为StringOps,这是一个字符序列,即Seq[Char]。然后通过将序列中的每个字符转换为字符串,将其映射到字符串Seq[String])的序列。最后,toList会将其转换为列表字符串,即List[String]

答案 2 :(得分:2)

这是另一个技巧:

scala> "my_string" grouped 1
res0: Iterator[String] = non-empty iterator

scala> .toList
res1: List[String] = List(m, y, _, s, t, r, i, n, g)