Kotlin заменить несколько символов все в строке - PullRequest
0 голосов
/ 10 мая 2018

Как заменить несколько символов в строке kotlin?

Как и функция java replaceAll ().

str.replaceAll("[$,.]", "") //java code

Я знаю этот ответ так близко, но хочу изменить более одного символа одновременно

1 Ответ

0 голосов
/ 10 мая 2018

[$,.] - это регулярное выражение, которое является ожидаемым вводом для Java replaceAll() метода. У Kotlin, однако, есть класс с именем Regex, и string.replace() перегружен, чтобы принимать аргумент String или Regex.

Так что вам нужно явно вызвать .toRegex(), иначе он решит, что вы хотите заменить строковый литерал [$,.]. Также стоит отметить, что $ в Kotlin используется с шаблонами String, что означает, что в обычных строках вы должны избегать его, используя обратную косую черту. Kotlin поддерживает необработанные строки (помеченные тремя " вместо одной), которые не нужно экранировать, то есть вы можете сделать это:

str = str.replace("""[$,.]""".toRegex(), "")

Вы не обязательно должны использовать .toRegex(). Вы также можете создать новый объект Regex:

str = str.replace(Regex("""[$,.]"""), "")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...