在GoLang中,檢查字串中的特殊字元需要特定的方法。當遇到從使用者輸入獲得的字串時,確保其有效性通常需要驗證是否存在惡意或不需要的字元。本文探討了兩種偵測字串中特殊字元的方法。
strings.ContainsAny() 函數決定字串是否包含所提供的任何字元字元集。若要檢查特殊字符,請將字串和特殊字符集傳遞給函數。例如:
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
}
為了檢查字串是否包含非 ASCII 字符,strings.IndexFunc() 被證明是有用的。它傳回滿足所提供函數的第一個字元的索引。傳遞一個檢查字元是否超出 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
}
}
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3