Dalam GoLang, menyemak aksara khas dalam rentetan memerlukan kaedah khusus. Apabila menemui rentetan yang diperoleh daripada input pengguna, memastikan kesahihannya selalunya memerlukan pengesahan ketiadaan aksara berniat jahat atau tidak diingini. Artikel ini meneroka dua pendekatan untuk mengesan aksara khas dalam rentetan.
Fungsi rentetan.ContainsAny() menentukan sama ada rentetan mengandungi sebarang aksara daripada yang disediakan set watak. Untuk menyemak aksara khas, hantar rentetan dan set aksara khas kepada fungsi tersebut. Contohnya:
<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>
Untuk menyemak sama ada rentetan mengandungi aksara bukan ASCII, rentetan.IndexFunc() terbukti berguna. Ia mengembalikan indeks aksara pertama yang memenuhi fungsi yang disediakan. Lulus fungsi yang menyemak sama ada aksara berada di luar julat aksara 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>
Atas ialah kandungan terperinci Bagaimanakah anda Mengenalpasti Watak Khas dalam Rentetan dalam Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!