String 按固定字符数拆分字符串

String 按固定字符数拆分字符串,string,split,kotlin,String,Split,Kotlin,在Kotlin中有没有一种快速的方法可以通过固定数量的字符分割字符串 我需要拆分这个544A1609B62E,将其小写,在需要的地方添加:,并实现这个:54:4a:16:09:b6:2e 什么是惯用的方法呢?在Kotlin 1.2中,您可以这样做: "544A1609B62E".toLowerCase().chunked(2).joinToString(":") chunked函数是Kotlin 1.2中新增的。它将集合拆分为给定大小的块 在Kotlin 1.1或更低版本中执行此操作有点麻烦。

在Kotlin中有没有一种快速的方法可以通过固定数量的字符分割字符串

我需要拆分这个
544A1609B62E
,将其小写,在需要的地方添加
,并实现这个:
54:4a:16:09:b6:2e


什么是惯用的方法呢?

在Kotlin 1.2中,您可以这样做:

"544A1609B62E".toLowerCase().chunked(2).joinToString(":")
chunked
函数是Kotlin 1.2中新增的。它将集合拆分为给定大小的块


在Kotlin 1.1或更低版本中执行此操作有点麻烦。您可以查看@NSimon在此处发布的问题中的答案:

在Kotlin 1.2中,您可以这样做:

"544A1609B62E".toLowerCase().chunked(2).joinToString(":")
chunked
函数是Kotlin 1.2中新增的。它将集合拆分为给定大小的块

在Kotlin 1.1或更低版本中执行此操作有点麻烦。您可以在@NSimon发布的问题中查看答案:

在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)
val sampleString=“544A1609B62E”
变量i=0
var sampleBuffer=“”;
而(i
在科特林的另一次尝试

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)
val sampleString=“544A1609B62E”
变量i=0
var sampleBuffer=“”;
而(i
这个循环是无限的:>你试过了吗?是的,这就是为什么我说它是无限的。While总是正确的。除非sampleString是固定长度,并且While循环中的“i”值递增,否则它不会发生。这个循环是无限的:>你试过了吗?是的,这就是为什么我说它是无限的。While总是正确的。除非sampleString的长度固定,并且While循环中的“i”值递增,否则它不会发生。谢谢,这正是我要找的。。。在未来:)我最终做了这样的事情:private fun formatMacAddress():String{return id.toLowerCase().mapIndexed{index,char->if(index!=0&&index%2==0)”:$char“else”$char}。joinToString(“”}可能不会在注释中格式化,但是你明白了…@lidkxx不错,看起来真不错!顺便说一句,你可以在注释中格式化代码,方法是用反勾(`)把它包装起来。谢谢,这正是我要找的。。。在未来:)我最终做了这样的事情:private fun formatMacAddress():String{return id.toLowerCase().mapIndexed{index,char->if(index!=0&&index%2==0)”:$char“else”$char}。joinToString(“”}可能不会在注释中格式化,但是你明白了…@lidkxx不错,看起来真不错!顺便说一句,您可以在注释中格式化代码,方法是将代码包装成反勾(`)