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