Dis*_*two 24 kotlin kotlin-android-extensions
我试图从字符串中删除所有非字母数字字符.
我尝试使用replace()正则表达式如下:
var answer = answerEditText.text.toString()
Log.d("debug", answer)
answer = answer.replace("[^A-Za-z0-9 ]", "").toLowerCase()
Log.d("debug", answer)
Run Code Online (Sandbox Code Playgroud)
D/debug:测试.,更换
D/debug:测试.,更换
为什么标点字符仍然存在?如何只获取字母数字字符?
has*_*sen 41
您需要创建一个正则表达式对象
var answer = "Test. ,replace"
println(answer)
answer = answer.replace("[^A-Za-z0-9 ]", "") // doesn't work
println(answer)
val re = Regex("[^A-Za-z0-9 ]")
answer = re.replace(answer, "") // works
println(answer)
Run Code Online (Sandbox Code Playgroud)
在线试用:https://try.kotlinlang.org/#/UserProjects/ttqm0r6lisi743f2dltveid1u9/2olerk6jvb10l03q6bkk1lapjn
Faa*_*hir 10
您需要创建一个正则表达式,这可以str.toRegex()在调用之前完成replace
val string = "AsAABa3a35e8tfyz.a6ax7xe"
string = string.replace(("[^\\d.]").toRegex(), "")
Run Code Online (Sandbox Code Playgroud)
结果:3358.67
如果您需要处理单词 W 和空格
var string = "Test in@@ #Kot$#lin FaaFS@@#$%^&StraßeFe.__525448=="
string = string.replace(("[^\\w\\d ]").toRegex(), "")
println(string)
Run Code Online (Sandbox Code Playgroud)
结果:在 Kotlin FaaFSStraeFe 中测试__525448
像这样的Kotlin标准库很漂亮。只需将String.filter与Char.isLetterOrDigit结合使用,就像这样:
val stringToFilter = "A1.2-b3_4C"
val stringWithOnlyDigits = stringToFilter.filter { it.isLetterOrDigit() }
println(stringWithOnlyDigits) //Prints out "A12b34C"
Run Code Online (Sandbox Code Playgroud)
小智 8
我发现这更加简洁和可维护。可能是先前的答案是在添加这些扩展名之前做出的吗?
val alphaNumericString = someString.toCharArray()
.filter { it.isLetterOrDigit() }
.joinToString(separator = "")
Run Code Online (Sandbox Code Playgroud)
我认为这是最简单的方法:
fun String.toNumericString() = this.filter { it.isDigit() }
Run Code Online (Sandbox Code Playgroud)
fun String.digitsOnly(): String{
val regex = Regex("[^0-9]")
return regex.replace(this, "")
}
fun String.alphaNumericOnly(): String{
val regex = Regex("[^A-Za-z0-9 ]")
return regex.replace(this, "")
}
Run Code Online (Sandbox Code Playgroud)
用法:
val alphaNumeric = "my string #$".alphaNumericOnly()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12654 次 |
| 最近记录: |