文本将为“ asd_fgh_jklm” 输出: 阿斯 fgh k lm 如果最后一个单词是4,则2 + 2 如果是3则2 + 1
条件:
删除字符串中的所有_个字符
字符数> = 4
将3个字符中的每个字符打印到新行中。
如果剩余字符数<= 4
4-2 + 2
3- 2 + 1
2- 2
1-1
然后将2个字符拆分并打印到一行中,然后保留到下一行
答案 0 :(得分:0)
我不知道您的意思是什么,但这也许会帮助您:
def magicSplit(str: String, separator: String) =
str.split(separator).toList match {
case init :+ last => init ++ last.grouped(2)
}
val res1 = magicSplit("asd_fgh_jklm", "_")
val res2 = magicSplit("asd_fgh_jk", "_")
val res3 = magicSplit("asd_fgh_j", "_")
val res4 = magicSplit("asd_fgh_jkl", "_")
结果:
res1: List[String] = List(asd, fgh, jk, lm)
res2: List[String] = List(asd, fgh, jk)
res3: List[String] = List(asd, fgh, j)
res4: List[String] = List(asd, fgh, jk, l)