En GoLang, verificar si hay caracteres especiales dentro de una cadena requiere métodos específicos. Cuando se encuentra una cadena obtenida a partir de la entrada del usuario, para garantizar su validez a menudo es necesario verificar la ausencia de caracteres maliciosos o no deseados. Este artículo explora dos enfoques para detectar caracteres especiales en cadenas.
La función strings.ContainsAny() determina si una cadena contiene algún carácter de un carácter proporcionado juego de caracteres. Para comprobar si hay caracteres especiales, pase la cadena y un conjunto de caracteres especiales a la función. Por ejemplo:
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
}
Para comprobar si una cadena contiene caracteres que no son ASCII, strings.IndexFunc() resulta útil. Devuelve el índice del primer carácter que satisface una función proporcionada. Pase una función que verifique si el carácter está fuera del rango de caracteres 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
}
}
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3