ホームページ  >  記事  >  バックエンド開発  >  Go言語で文字列内の指定された部分文字列を検索する方法

Go言語で文字列内の指定された部分文字列を検索する方法

青灯夜游
青灯夜游オリジナル
2021-06-18 11:56:534611ブラウズ

Go 言語では、"strings.Index()" 関数でスライスを使用して、指定された部分文字列を見つけることができます。構文形式は "string[strings.Index(string, "Character") strings です。 Index( String[開始位置:], "文字"):]"。 string パッケージの Index() 関数は、文字列内の別の部分文字列を検索し、部分文字列の開始位置と終了位置を取得できます。

Go言語で文字列内の指定された部分文字列を検索する方法

このチュートリアルの動作環境: Windows 10 システム、GO 1.18、Dell G3 コンピューター。

文字列内の文字の特定のセクションを取得することは、開発における一般的な操作です。一般に、文字列内の文字の特定のセクションを部分文字列と呼びます。

次の例では、strings.Index() 関数を使用して文字列内の別の部分文字列を検索します。コードは次のとおりです:

tracer := "死神来了, 死神bye bye"
comma := strings.Index(tracer, ", ")
pos := strings.Index(tracer[comma:], "死神")
fmt.Println(comma, pos, tracer[comma+pos:])

プログラムの出力は次のとおりです:

12 3 死神bye bye

コードの説明は次のとおりです :

1) 行 2 は、トレーサ文字列内の中国語のカンマの検索を試みます。返された位置はカンマ変数に格納されます。型は int です。は、トレーサ文字列から始まる ASCII コードの位置を表します。

strings.Index() 関数には、他の言語のように特定のオフセットから検索を開始する関数はありません。ただし、文字列に対してスライス操作を実行して、このロジックを実装することはできます。

2) 4 行目で、tracer[comma:] は、tracer のカンマ位置からトレーサー文字列の末尾までの部分文字列を構築し、インデックスを再作成するためにそれを string.Index() に返します。結果の pos は、tracer[comma:] に相対的です。

comma カンマの位置は 12 ですが、pos は値 3 の相対位置です。 2 番目の「死の神」の位置 (カンマの後の文字列) を取得するには、pos の相対オフセットにカンマを追加し、オフセット 15 を計算し、スライス トレーサー[comma pos を通じて計算する必要があります。 :] 最後の部分文字列を取得し、最終結果「Death bye bye」を取得します。

推奨学習: Golang チュートリアル

以上がGo言語で文字列内の指定された部分文字列を検索する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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