有没有一种快速方法可以在Kotlin中按固定数量的字符分割字符串?
我需要将此544A1609B62E
拆分为小写,在需要的地方添加:
并实现此目的:54:4a:16:09:b6:2e
。
这样做的惯用方法是什么?
答案 0 :(得分:7)
在Kotlin 1.2中你可以这样做:
"544A1609B62E".toLowerCase().chunked(2).joinToString(":")
chunked
功能是Kotlin 1.2中的新功能。它将一个集合拆分为给定大小的块。
在Kotlin 1.1或更低版本中执行此操作会有点麻烦。您可以在这里查看@NSimon发布的问题中的答案:Java: How to split a string by a number of characters?
答案 1 :(得分:1)
Kotlin的另一次尝试,
val sampleString = "544A1609B62E"
var i = 0
var sampleBuffer = "";
while(i < sampleString.length - 2) {
sampleBuffer = sampleBuffer.plus(sampleString.toLowerCase ().substring(i, i + 2)).plus(":")
i += 2
}
sampleBuffer = sampleBuffer.plus(sampleString.toLowerCase().substring(i))
Log.e(TAG, sampleBuffer)