"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo se identifican caracteres especiales en cadenas en Golang?

¿Cómo se identifican caracteres especiales en cadenas en Golang?

Publicado el 2024-11-15
Navegar:979

How do you Identify Special Characters in Strings in Golang?

Identificar caracteres especiales en cadenas en Golang

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.

Método 1: usar strings.ContainsAny()

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
}

Método 2: uso de strings.IndexFunc()

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
    }
}
Último tutorial Más>

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