ホームページ >バックエンド開発 >Golang >Golang で文字列内の特殊文字をどのように識別しますか?

Golang で文字列内の特殊文字をどのように識別しますか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-31 20:31:01407ブラウズ

How do you Identify Special Characters in Strings in Golang?

Golang で文字列内の特殊文字を識別する

GoLang では、文字列内の特殊文字をチェックするには特定のメソッドが必要です。ユーザー入力から取得した文字列に遭遇した場合、その有効性を確認するには、多くの場合、悪意のある文字や望ましくない文字が含まれていないことを確認する必要があります。この記事では、文字列内の特殊文字を検出する 2 つの方法について説明します。

方法 1: strings.ContainsAny() を使用する

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>

方法 2: strings.IndexFunc() を使用する

文字列に非 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。