Scala中如何在字符串各字符间插入指定字符串(非首尾)?
Scala中在字符串每两个字符间插入指定分隔符的推荐方法
在Scala里处理这种"给字符串字符间插入分隔符"的需求,最推荐且最简洁的方式就是使用mkString方法——这是Scala集合API里专门为元素拼接场景设计的工具,完全贴合你的需求。
核心方法:mkString
Scala中的String本质上是Char的序列,mkString方法接收一个分隔符参数,会自动将序列中的每个元素用分隔符连接,并且不会在开头或结尾额外添加分隔符,正好完美匹配你要的效果。
举个你给出的例子:
val s = "abcd" val result = s.mkString(" - ") // 输出结果:"a - b - c - d"
手动实现方案(适合学习原理)
如果你想理解底层逻辑,也可以用foldLeft手动实现拼接逻辑,但这种写法不如mkString简洁,日常开发不推荐:
val s = "abcd" val separator = " - " val result = s.tail.foldLeft(s.head.toString) { (accumulator, currentChar) => accumulator + separator + currentChar }
这个逻辑是先取第一个字符作为初始值,然后遍历剩下的每个字符,逐个把分隔符和当前字符拼接到结果里。
内容的提问来源于stack exchange,提问作者Krzysztof Słowiński
相关产品推荐
相关产品推荐

