Maison >développement back-end >Golang >Comment identifier les caractères spéciaux dans les chaînes en Golang ?

Comment identifier les caractères spéciaux dans les chaînes en Golang ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-31 20:31:01406parcourir

How do you Identify Special Characters in Strings in Golang?

Identification des caractères spéciaux dans les chaînes en Golang

Dans GoLang, la vérification des caractères spéciaux dans une chaîne nécessite des méthodes spécifiques. Lorsque vous rencontrez une chaîne obtenue à partir d'une saisie utilisateur, garantir sa validité nécessite souvent de vérifier l'absence de caractères malveillants ou indésirables. Cet article explore deux approches pour détecter les caractères spéciaux dans les chaînes.

Méthode 1 : Utilisation de strings.ContainsAny()

La fonction strings.ContainsAny() détermine si une chaîne contient un caractère d'un élément fourni. ensemble de caractères. Pour vérifier les caractères spéciaux, transmettez la chaîne et un jeu de caractères spéciaux à la fonction. Par exemple :

<code class="go">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
}</code>

Méthode 2 : Utilisation de strings.IndexFunc()

Pour vérifier si une chaîne contient des caractères non-ASCII, strings.IndexFunc() s'avère utile. Il renvoie l'index du premier caractère qui satisfait une fonction fournie. Passez une fonction qui vérifie si le caractère est en dehors de la plage de caractères ASCII :

<code class="go">package main

import (
    "fmt"
    "strings"
)

func main() {
    f := func(r rune) bool {
        return r < 'A' || 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
    }
}</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn