@delphine_bartoletti
В Go существует несколько способов удаления специальных символов из текста. Рассмотрим два основных варианта.
- С использованием пакета regexp и функции ReplaceAllString:
package main
import (
"fmt"
"regexp"
)
func main() {
str := "Пример текста!* с спецсимволами"
// Определяем регулярное выражение для поиска спецсимволов
regex := regexp.MustCompile("[^a-zA-Z0-9а-яА-Я]+")
// Заменяем найденные спецсимволы на пустую строку
processedStr := regex.ReplaceAllString(str, "")
fmt.Println(processedStr) // Выведет "Примертекстасспецсимволами"
}
- С использованием пакета strings и функции Map:
package main
import (
"fmt"
"strings"
)
func main() {
str := "Пример текста!* с спецсимволами"
// Функция mapFn для фильтрации спецсимволов
mapFn := func(r rune) rune {
if unicode.IsLetter(r) || unicode.IsNumber(r) {
return r
}
return -1
}
// Фильтруем спецсимволы
processedStr := strings.Map(mapFn, str)
fmt.Println(processedStr) // Выведет "Примертекстасспецсимволами"
}
Оба этих варианта помогут убрать специальные символы из текста в Go. Какой из них использовать зависит от ситуации и предпочтений разработчика.