Функция strings.Replace

Функция strings.Replace заменяет в исходной строке первые n вхождений указанной подстроки на новую строку. В первый параметр мы передаем исходную строку, во второй — подстроку, которую нужно заменить, в третий — строку для замены, а в четвертый — количество замен. Если передать -1, то будут заменены все вхождения.

Синтаксис

gostrings.Replace(original, old, new string, n int) string

Пример

Давайте заменим в строке 'abcde' подстроку 'bc' на '12', но только первое вхождение:

gopackage main

import (
  "fmt"
  "strings"
)

func main() {
  res := strings.Replace("abcde", "bc", "12", 1)
  fmt.Println(res)
}

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

go"a12de"

Пример

Давайте заменим в строке 'abcdeabcde' все вхождения подстроки 'bc' на '12', передав в четвертом параметре -1:

gopackage main

import (
  "fmt"
  "strings"
)

func main() {
  res := strings.Replace("abcdeabcde", "bc", "12", -1)
  fmt.Println(res)
}

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

go"a12dea12de"

Пример

Давайте заменим в строке '1234512345' только первые два вхождения подстроки '23' на 'ab':

gopackage main

import (
  "fmt"
  "strings"
)

func main() {
  res := strings.Replace("1234512345", "23", "ab", 2)
  fmt.Println(res)
}

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

go"1ab451ab45"

Пример

Если искомая подстрока не найдена, функция возвращает исходную строку без изменений:

gopackage main

import (
  "fmt"
  "strings"
)

func main() {
  res := strings.Replace("abcde", "xyz", "123", -1)
  fmt.Println(res)
}

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

go"abcde"

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

  • функцию strings.ReplaceAll,
    которая заменяет все вхождения подстроки
  • функцию strings.Count,
    которая подсчитывает количество вхождений подстроки
  • функцию strings.Index,
    которая возвращает позицию первого вхождения подстроки
  • функцию strings.Contains,
    которая проверяет наличие подстроки в строке