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

Kotlin中如何更简便统计含重复分隔符的字符串token数量?

Kotlin 统计含重复分隔符字符串的Token数量

针对连续空格导致split()生成空字符串的问题,有几种简洁的解决方式:

方法1:正则分隔符分割

利用正则匹配一个或多个连续空格作为分隔符,直接分割后获取数组长度即可:

val msg = "The  cat won't  stay   away  from  the chickens."
val tokenCount = msg.split(Regex("\\s+")).size
// tokenCount = 8
  • 若只需匹配空格(排除制表符、换行等其他空白字符),把\\s+换成 +即可。
  • 如果字符串首尾可能有空格,先trim()再分割避免空字符串:
    val tokenCount = msg.trim().split(Regex("\\s+")).size
    

方法2:直接匹配所有非空白Token

用正则匹配所有连续的非空白字符,统计匹配结果的数量,无需生成中间数组,效率更高:

val tokenCount = Regex("\\S+").findAll(msg).count()
// tokenCount = 8

方法3:简化原逻辑(不推荐,但适合理解)

如果不想用正则,也可以用一行代码简化你原来的循环逻辑:

val tokenCount = msg.split(' ').count { it.isNotEmpty() }

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 20:48:14