РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
438 of 1593 menu

regexp.Regexp.ReplaceAllLiteralString

Метод Regexp.ReplaceAllLiteralString выполняет замену всех найденных совпадений с регулярным выражением на строку замены. В отличие от метода ReplaceAllString, данный метод не интерпретирует специальные конструкции в строке замены, такие как $1 или ${name}. Это означает, что строка замены вставляется буквально, без каких-либо подстановок из найденного совпадения. Первым параметром метод принимает исходную строку, вторым - строку замены, которая будет вставлена вместо каждого совпадения.

Синтаксис

re.ReplaceAllLiteralString(src, repl)

Пример

Давайте заменим все цифры в строке на символ '#':

package main import ( "fmt" "regexp" ) func main() { re := regexp.MustCompile(`\d`) src := "a1b2c3d4e5" res := re.ReplaceAllLiteralString(src, "#") fmt.Println(res) }

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

"a#b#c#d#e#"

Пример

Давайте заменим все слова на строку 'TEXT':

package main import ( "fmt" "regexp" ) func main() { re := regexp.MustCompile(`[a-z]+`) src := "hello world from go" res := re.ReplaceAllLiteralString(src, "TEXT") fmt.Println(res) }

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

"TEXT TEXT TEXT TEXT"

Пример

Важное отличие от ReplaceAllString - отсутствие интерпретации шаблонов замены:

package main import ( "fmt" "regexp" ) func main() { re := regexp.MustCompile(`(\w+)@(\w+)\.(\w+)`) src := "contact: user@example.com" // ReplaceAllLiteralString не интерпретирует $1, $2, $3 resLiteral := re.ReplaceAllLiteralString(src, "$1 at $2 dot $3") // ReplaceAllString интерпретирует шаблоны resString := re.ReplaceAllString(src, "$1 at $2 dot $3") fmt.Println("Literal:", resLiteral) fmt.Println("String: ", resString) }

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

"Literal: $1 at $2 dot $3" "String: user at example dot com"

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

  • метод Regexp.ReplaceAllString,
    который выполняет замену с интерпретацией шаблонов
  • метод Regexp.ReplaceAllLiteral,
    который делает то же самое, но работает с байтовыми срезами
  • метод Regexp.ReplaceAll,
    который выполняет замену с интерпретацией для байтовых срезов
  • метод Regexp.ReplaceAllFunc,
    который позволяет использовать функцию для генерации строки замены
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить