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

Kotlin中如何设置多分隔符(空格+逗号)分割字符串以得到纯数字数组

解决混合逗号与空格的字符串分割问题

嘿,这个场景我之前也碰到过!你的输入字符串里同时存在逗号(可能带前后空格)和纯空格作为分隔符,只用\\s当然搞不定啦,得用一个能匹配所有分隔情况的正则表达式。

核心解决方案

你可以用split("[,\\s]+".toRegex())来分割字符串,这个正则的意思是:

  • [,\\s]:匹配逗号或者任意空白字符(这里主要是空格)
  • +:表示匹配一个或多个连续的上述字符,这样不管是单个空格、单个逗号,还是,这种逗号加空格的组合,都会被当成一个分隔符处理。

完整代码示例(Kotlin)

val input = "1, 2,3 , 4, 5 6 7 , 8 ,9 10"
// 分割后转成Int数组
val numberArray = input.split("[,\\s]+".toRegex())
    .map { it.toInt() }
    .toTypedArray()

println(numberArray.contentToString()) // 输出:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

额外小提示

如果你的输入有可能在开头或结尾出现多余的空格/逗号,分割后会产生空字符串,这时候可以加个过滤:

val numberArray = input.split("[,\\s]+".toRegex())
    .filterNot { it.isEmpty() } // 过滤空字符串
    .map { it.toInt() }
    .toTypedArray()

这样就能完美处理各种混合分隔的情况啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 06:32:43