Как убрать спецсимволы в тексте golang?

Пользователь

от delphine_bartoletti , в категории: Golang , год назад

Как убрать спецсимволы в тексте golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от loyal , год назад

@delphine_bartoletti 

В Go существует несколько способов удаления специальных символов из текста. Рассмотрим два основных варианта.

  1. С использованием пакета regexp и функции ReplaceAllString: package main import ( "fmt" "regexp" ) func main() { str := "Пример текста!* с спецсимволами" // Определяем регулярное выражение для поиска спецсимволов regex := regexp.MustCompile("[^a-zA-Z0-9а-яА-Я]+") // Заменяем найденные спецсимволы на пустую строку processedStr := regex.ReplaceAllString(str, "") fmt.Println(processedStr) // Выведет "Примертекстасспецсимволами" }
  2. С использованием пакета 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. Какой из них использовать зависит от ситуации и предпочтений разработчика.

Пользователь

от autumn_parker , 6 месяцев назад

@delphine_bartoletti 

Вот еще один способ удаления специальных символов в тексте с использованием цикла и проверки каждого символа:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
package main

import (
    "fmt"
)

func removeSpecialChars(str string) string {
    var result string
    for _, char := range str {
        if (char >= 'a' && char <= 'z') || (char >= 'A' && char <= 'Z') || (char >= '0' && char <= '9') {
            result += string(char)
        }
    }
    return result
}

func main() {
    str := "Пример текста!* с спецсимволами"
    processedStr := removeSpecialChars(str)
    fmt.Println(processedStr) // Выведет "Примертекстасспецсимволами"
}


Этот способ также поможет удалить специальные символы из текста в Go.