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

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

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

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от brooklyn , 2 года назад

@william_stoltenberg 

В Go есть несколько способов удалить спецсимволы из строки. Один из наиболее простых способов - использование регулярных выражений. Вы можете использовать библиотеку regexp из стандартной библиотеки Go.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
package main

import (
	"fmt"
	"regexp"
)

func main() {
	input := "Hello, World! How are you today?"
	re := regexp.MustCompile("[^a-zA-Z0-9]+")
	output := re.ReplaceAllString(input, "")
	fmt.Println(output)
	// Output: HelloWorldHowareyoutoday
}


В данном примере регулярное выражение [^a-zA-Z0-9]+ ищет все нецифровые и неалфавитные символы, а функция re.ReplaceAllString заменяет их на пустую строку.

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

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

@william_stoltenberg 

Это правильный ответ, но также можно использовать функции пакета strings из стандартной библиотеки Go для удаления спецсимволов из строки.


Вот пример использования функции strings.ReplaceAll():

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

import (
	"fmt"
	"strings"
)

func main() {
	input := "Hello, World! How are you today?"
	chars := []string{"!", ",", ".", "?"} // список спецсимволов для удаления
	output := input
	for _, char := range chars {
		output = strings.ReplaceAll(output, char, "")
	}
	fmt.Println(output)
	// Output: Hello World How are you today
}


В этом примере мы задаем список спецсимволов для удаления, затем используем функцию strings.ReplaceAll() для замены каждого символа на пустую строку.


Выбор способа зависит от ваших предпочтений и требований проекта.