从字符串 kotlin 中提取数字

Ho *_*inh 15 java android kotlin

String.replaceAll未运行且在 Kotlin 中不受支持。所以我建议一个演示示例,我希望它有所帮助。

var string = "vsdhfnmsdbvfuf121535435aewr"  
string.replace("[^0-9]".toRegex(), "")
Run Code Online (Sandbox Code Playgroud)

jj.*_*jj. 50

您还可以利用 Kotlin 的 String.filter:

var string = "vsdhfnmsdbvfuf121535435aewr"
var result = string.filter { it.isDigit() }
Run Code Online (Sandbox Code Playgroud)

我从这里得到这个:https : //stackoverflow.com/a/57316352

  • 一个简单的单元测试可以帮助您弄清楚如何包含句点: `var result = string.filter { it.isDigit() || 它=='.'}` (3认同)

sal*_*hed 7

你的代码工作正常。这里string是不变的。所以它的值是不能改变的。但是您可以将另一个变量分配给替换的字符串。

fun main(args: Array<String>) {
    var string = "vsdhfnmsdbvfuf121535435aewr"
    var res = string.replace("[^0-9]".toRegex(), "")
    println(res)
}
Run Code Online (Sandbox Code Playgroud)