In GoLang erfordert die Überprüfung auf Sonderzeichen innerhalb einer Zeichenfolge bestimmte Methoden. Wenn Sie auf eine Zeichenfolge stoßen, die aus einer Benutzereingabe stammt, muss zur Sicherstellung ihrer Gültigkeit häufig überprüft werden, dass keine schädlichen oder unerwünschten Zeichen vorhanden sind. In diesem Artikel werden zwei Ansätze zum Erkennen von Sonderzeichen in Zeichenfolgen untersucht.
Die Funktion strings.ContainsAny() ermittelt, ob eine Zeichenfolge ein beliebiges Zeichen aus einem bereitgestellten Zeichen enthält Zeichensatz. Um nach Sonderzeichen zu suchen, übergeben Sie die Zeichenfolge und einen Sonderzeichensatz an die Funktion. Zum Beispiel:
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
}
Um zu überprüfen, ob eine Zeichenfolge Nicht-ASCII-Zeichen enthält, erweist sich strings.IndexFunc() als nützlich. Es gibt den Index des ersten Zeichens zurück, das eine bereitgestellte Funktion erfüllt. Übergeben Sie eine Funktion, die prüft, ob das Zeichen außerhalb des ASCII-Zeichenbereichs liegt:
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
}
}
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3