Kotlin删除所有非字母数字字符
我正在尝试从字符串中删除所有非字母数字字符。
我尝试使用正则表达式replace()
,如下所示:
var answer = answerEditText.text.toString() Log.d("debug", answer) answer = answer.replace("[^A-Za-z0-9 ]", "").toLowerCase() Log.d("debug", answer)
D /调试:测试。 ,更换
D /调试:测试。 ,更换
为什么标点符号仍然存在? 如何获得只有字母数字字符?
你需要创建一个正则表达式对象
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)
在线试用: https : //try.kotlinlang.org/#/UserProjects/ttqm0r6lisi743f2dltveid1u9/2olerk6jvb10l03q6bkk1lapjn