Regex строка заменяет значительно быстрее, чем обычная замена в kotlin - PullRequest
0 голосов
/ 09 января 2019

Я пытался заменить символы в строке, как показано ниже

data = data.replace(Regex("[a-z:]", RegexOption.IGNORE_CASE), "")
        .replace(Regex("/", RegexOption.IGNORE_CASE), ".")
        .replace(Regex(",", RegexOption.IGNORE_CASE), "")
        .replace(Regex("'", RegexOption.IGNORE_CASE), "")
        .replace(Regex("é",RegexOption.IGNORE_CASE),"")
        .replace(Regex("ê",RegexOption.IGNORE_CASE),"")
        .replace(Regex("ö",RegexOption.IGNORE_CASE),"")
        .replace(Regex("Ä",RegexOption.IGNORE_CASE),"")
        .replace(Regex("ä",RegexOption.IGNORE_CASE),"")
        .replace(Regex("ä |",RegexOption.IGNORE_CASE),"")

А

data = data.replace(Regex("[a-z:]", RegexOption.IGNORE_CASE), "")
        .replace("/", ".")
        .replace(",", "")
        .replace("'", "")
        .replace("é","")
        .replace("ê","")
        .replace("ö","")
        .replace("Ä","")
        .replace("ä","")

И я измерил время, необходимое как для этого кода, так и на удивление, код с регулярным выражением оказался как минимум в 20 раз быстрее, чем обычная замена.

Пока я читал о регулярных выражениях, они говорят, что регулярное выражение - дорогая операция, я что-то упустил?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...