Kotlin Удалить все не буквенно-цифровые символы

Я пытаюсь удалить все не буквенно-цифровые символы из строки.

Я попытался использовать replace() с регулярным выражением следующим образом:

 var answer = answerEditText.text.toString() Log.d("debug", answer) answer = answer.replace("[^A-Za-z0-9 ]", "").toLowerCase() Log.d("debug", answer) 

D / debug: Тест. заменить

D / debug: test. заменить

Почему символы пунктуации все еще присутствуют? Как получить только буквенно-цифровые символы?

Вам нужно создать объект регулярного выражения

 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