В GoLang проверка специальных символов в строке требует определенных методов. При обнаружении строки, полученной в результате пользовательского ввода, для обеспечения ее достоверности часто необходимо проверить отсутствие вредоносных или нежелательных символов. В этой статье рассматриваются два подхода к обнаружению специальных символов в строках.
Функция strings.ContainsAny() определяет, содержит ли строка какой-либо символ из предоставленного набор персонажей. Чтобы проверить наличие специальных символов, передайте в функцию строку и набор специальных символов. Например:
package main
import "strings"
func main() {
fmt.Println(strings.ContainsAny("Hello World", ",|")) // false
fmt.Println(strings.ContainsAny("Hello, World", ",|")) // true
fmt.Println(strings.ContainsAny("Hello|World", ",|")) // true
}
Для проверки того, содержит ли строка символы, отличные от ASCII, полезно использовать strings.IndexFunc(). Он возвращает индекс первого символа, удовлетворяющего предоставленной функции. Передайте функцию, которая проверяет, находится ли символ за пределами диапазона символов ASCII:
package main
import (
"fmt"
"strings"
)
func main() {
f := func(r rune) bool {
return r 'z'
}
if strings.IndexFunc("HelloWorld", f) != -1 {
fmt.Println("Found special char") // false
}
if strings.IndexFunc("Hello World", f) != -1 {
fmt.Println("Found special char") // true
}
}
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3