НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
545 of 1310 menu

Функция escape

Функция escape преобразует строку, экранируя все специальные символы, которые имеют особое значение в регулярных выражениях. Это полезно, когда необходимо искать строку, содержащую специальные символы.

Для экранировки функция использует специальные метасимволы \Q и \E: Все символы между этими символами воспринимаются как обычные литералы, а не как специальные символы регулярных выражений. Это безопасный способ экранировать все специальные символы в строке.

Функция экранирует следующие символы: . + * ? ^ $ [ ] ( ) { } | \

Импорт

import kotlin.text.Regex

Синтаксис

fun escape(literal: String): String

Пример

Экранируем строку с специальными символами:

val input = "file.txt" val res: String = Regex.escape(input) println(res)

Результат выполнения кода:

\Qfile.txt\E

Пример

Экранируем строку с несколькими специальными символами:

val input = "price: .99+tax" val res: String = Regex.escape(input) println(res)

Результат выполнения кода:

\Qprice: .99+tax\E

Пример

Используем экранированную строку для поиска значения:

val searchText = "file.txt" val escapedPattern = Regex.escape(searchText) val regex = Regex(escapedPattern) val input1 = "download file.txt please" val input2 = "download filextxt please" println(regex.containsMatchIn(input1)) println(regex.containsMatchIn(input2))

Результат выполнения кода:

true false

Пример

Экранирование строки с метасимволами:

val input = "a+b*c?d[e]f{g}h(i)j|k\l" val res: String = Regex.escape(input) println(res)

Результат выполнения кода:

\Qa+b*c?d[e]f{g}h(i)j|k\l\E

Смотрите также

  • функцию escapeReplacement,
    которая экранирует символы строки замены
  • функцию matchEntire,
    для проверки полного соответствия строки регулярному выражению
  • функцию replace,
    которая заменяет совпадения в строке
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить