Метод regexp.Regexp.ReplaceAllString
Метод regexp.Regexp.ReplaceAllString выполняет поиск всех подстрок,
соответствующих скомпилированному регулярному выражению, и заменяет их
на указанную строку. В качестве первого параметра метод принимает
исходную строку для обработки, вторым параметром - строку замены.
Метод возвращает новую строку с выполненными заменами. Исходная
строка при этом не изменяется.
Синтаксис
re.ReplaceAllString(input, replacement)
Пример
Давайте заменим все цифры в строке на символ 'x':
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile(`\d`)
res := re.ReplaceAllString("a1b2c3d4e5", "x")
fmt.Println(res)
}
Результат выполнения кода:
"axbxcxdxex"
Пример
Давайте заменим все последовательности из нескольких пробелов на один пробел:
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile(`\s+`)
res := re.ReplaceAllString("a b c d", " ")
fmt.Println(res)
}
Результат выполнения кода:
"a b c d"
Пример
Давайте удалим все небуквенные символы из строки, заменив их на пустую строку:
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile(`[^a-zA-Z]`)
res := re.ReplaceAllString("Hello, 123 World!", "")
fmt.Println(res)
}
Результат выполнения кода:
"HelloWorld"
Пример
Давайте заменим все слова, состоящие из трех букв, на слово
'xxx':
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile(`\b\w{3}\b`)
res := re.ReplaceAllString("cat dog elephant bird fox", "xxx")
fmt.Println(res)
}
Результат выполнения кода:
"xxx dog elephant bird xxx"
Смотрите также
-
метод
regexp.Regexp.ReplaceAll,
который выполняет замену для байтовых срезов -
метод
regexp.Regexp.ReplaceAllLiteralString,
который выполняет литеральную замену подстрок -
метод
regexp.Regexp.ReplaceAllStringFunc,
который позволяет использовать функцию для замены -
метод
regexp.Regexp.FindAllString,
который находит все совпадения в строке