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

Kotlin如何从字符串中提取数字并拼接为长整型数值

Kotlin 字符串提取数字拼接实现方案

核心逻辑

利用Kotlin字符串内置的filter方法,筛选出所有属于数字的字符,直接拼接即可得到目标字符串。如果需要转为数值类型,要注意数值范围避免溢出。

基础实现(提取数字字符串)

val input = "81aabf9d-844e-4086-9621-f3afed02e163"
val targetStr = input.filter { it.isDigit() }
// 得到结果:81984440869621302163

数值类型转换注意事项

Kotlin的Long类型为64位有符号整数,最大可表示的数值为9223372036854775807(共19位),你示例中的提取结果为20位,已经超出Long的范围,建议使用BigInteger存储:

import java.math.BigInteger

val targetNum = targetStr.toBigInteger()

如果确认提取后的数字长度小于等于18位,可以直接转Long:

val targetNum = targetStr.toLong()

完整运行示例

fun main() {
    val inputStr = "81aabf9d-844e-4086-9621-f3afed02e163"
    val digitStr = inputStr.filter { it.isDigit() }
    println("提取结果:$digitStr")
    
    // 转换为大整数
    val bigNumber = digitStr.toBigInteger()
    println("大整数格式结果:$bigNumber")
}

运行输出:

提取结果:81984440869621302163
大整数格式结果:81984440869621302163

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 20:24:04