You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Kotlin将字符串分割为每个包含N个字符的子块?

方案1:使用Kotlin标准库内置chunked()方法(推荐)

Kotlin的CharSequence接口已经原生提供了按固定长度分割的方法chunked(),直接调用即可,不需要额外实现逻辑:

fun splitIntoN(str: String, n: Int): List<String> {
    require(n > 0) { "分割长度n必须大于0" }
    return str.chunked(n)
}

// 测试验证
fun main() {
    val str = "Hello World! Kotlin is amazing!"
    println(splitIntoN(str, 3)) 
    // 输出:[Hel, lo , Wor, ld!,  Ko, tli, n i, s a, maz, ing, !],与示例预期完全一致
}

方案2:正则实现

如果你需要用正则方式实现,可以用{1,n}匹配规则实现最多n个任意字符的匹配,即可得到目标结果:

fun splitIntoNByRegex(str: String, n: Int): List<String> {
    require(n > 0) { "分割长度n必须大于0" }
    return Regex(".{1,$n}").findAll(str).map { it.value }.toList()
}

内容的提问来源于stack exchange,提问作者Ilya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 15:48:01