GoLang では、文字列内の特殊文字をチェックするには特定のメソッドが必要です。ユーザー入力から取得した文字列に遭遇した場合、その有効性を確認するには、多くの場合、悪意のある文字や望ましくない文字が含まれていないことを確認する必要があります。この記事では、文字列内の特殊文字を検出する 2 つの方法について説明します。
strings.ContainsAny() 関数は、文字列に指定された文字列が含まれているかどうかを判断します。文字のセット。特殊文字をチェックするには、文字列と特殊文字セットを関数に渡します。例:
<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>
文字列に非 ASCII 文字が含まれているかどうかを確認するには、strings.IndexFunc() が便利です。指定された関数を満たす最初の文字のインデックスを返します。文字が 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>
以上がGolang で文字列内の特殊文字をどのように識別しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。