ass*_*ias 10 string split kotlin
将字符串拆分为每个2个字符的字符串的惯用方法是什么?
例子:
"" -> [""]
"ab" -> ["ab"]
"abcd" -> ["ab", "cd"]
Run Code Online (Sandbox Code Playgroud)
我们可以假设字符串的长度是2的倍数.
我可以在这个Java答案中使用正则表达式,但我希望找到更好的方法(即使用kotlin的其他方法之一).
hot*_*key 19
一旦科特林1.2发布,可以使用chunked
被添加到功能kotlin-stdlib
由KEEP-11的建议.例:
val chunked = myString.chunked(2)
Run Code Online (Sandbox Code Playgroud)
你可以用Kotlin 1.2 M2预发布试试这个.
在此之前,您可以使用以下代码实现相同的功能:
fun String.chunked(size: Int): List<String> {
val nChunks = length / size
return (0 until nChunks).map { substring(it * size, (it + 1) * size) }
}
Run Code Online (Sandbox Code Playgroud)
println("abcdef".chunked(2)) // [ab, cd, ef]
Run Code Online (Sandbox Code Playgroud)
此实现会丢弃小于size
元素的余数.您可以修改它,也可以将余数添加到结果中.