Во время создания программы зачастую требуется заменить определенную подстроку внутри строки. В стандартной библиотеке Go есть функция Replace и тип Replacer для замены сразу нескольких строк.

Как заменить части строки в Golang?

1. Создайте файл replace.go со следующим содержимым:

Форум Гоферов

Мы работаем над форумом для программистов на Golang. Очень нужны модераторы которые хотят помочь с ответами для новичков и помочь в развитии Go-сообщества.

Go на Форум

Уроки, статьи и Видео

Мы публикуем в паблике ВК и Telegram качественные обучающие материалы для быстрого изучения Go. Подпишитесь на нас в ВК и в Telegram. Поддержите сообщество Go программистов.

Go в ВК Go в Telegram

2. Запустите код через go run replace.go;
3. Посмотрите на вывод в терминале:

замена части строки golang

4. Создайте файл replacer.go со следующим содержимым:

5. Запустите код через go run replacer.go;
6. Посмотрите на результат в терминале:

замена строки go

Замена текста в строке используя регулярные выражения

7. Создайте файл regexp.go со следующим содержимым:

8. Запустите код через go run regexp.go;
9. Посмотрите на результат в терминале:

замена строк

Функция Replace() — Подробное описание

Функция Replace из пакета strings часто используется для простой замены. Последний целочисленный аргумент определяет, сколько будет выполнено замен. В случае с -1 заменяются все строки. Во втором случае использования Replace производится только две замены. Использование функции Replace описано в шагах 1-3.

Помимо функции Replace, в структуре Replacer также есть метод WriteString. Данный метод запишет все замены, определенные в Replacer. Главное предназначение данного типа в возможности его повторного использования. Он может сразу заменить несколько строк, что безопасно для конкурентного использования. Это показано в шагах 4-6.

Более сложным методом замены подстроки или даже совпадающего паттерна является использование регулярного выражения. Тип указателя Regex метода ReplaceAllString может использоваться для этих целей. На этапах 7-9 показано использование пакета regexp.

Когда требуется более сложная логика замены, лучше всего использовать пакет regexp и регулярные выражения.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *