Goで2つの文字または文字列の間の部分文字列を抽出する方法は?

Barbara Streisand
リリース: 2024-11-02 21:27:30
オリジナル
588 人が閲覧しました

How to Extract a Substring Between Two Characters or Strings in Go?

2 つの文字または文字列間の部分文字列を抽出するコードに移動

文字列があり、その中から特定の部分文字列を抽出したい場合は、 Go は、これを実現するための柔軟なメカニズムを提供します。

たとえば、次のことを考えてください。 string:

<h1>Hello World!</h1>
ログイン後にコピー

部分文字列の抽出

「Hello World!」を抽出するにはGo を使用してこの文字列から次の関数を実装できます。

<code class="go">// GetStringInBetween Returns empty string if no start string found
func GetStringInBetween(str string, start string, end string) (result string) {
    s := strings.Index(str, start)
    if s == -1 {
        return
    }
    s += len(start)
    e := strings.Index(str[s:], end)
    if e == -1 {
        return
    }
    e += s + e - 1
    return str[s:e]
}</code>
ログイン後にコピー

関数の理解

この関数は 3 つの引数を取ります:

  • str: 元の文字列
  • start: 開始文字列または文字
  • end: 終了文字列または文字

次のように動作します:

  1. 元の文字列で開始の最初のインデックスを見つけます。
  2. 開始の長さを開始インデックスに追加し、開始文字列を事実上スキップします。
  3. 調整された開始インデックスから始まる部分文字列内の終了の最初のインデックスを検索します。
  4. 見つかった終了のインデックスに調整された開始インデックスを加算することで終了インデックスを計算します。
  5. 最後に、それは返します。調整された開始インデックスから終了インデックスまでの部分文字列。

サンプル使用法

この関数を使用するには、元の文字列、開始文字列、および終了文字列を渡すことができます。例:

start := "<h1"
end := "</h1>"
substring := GetStringInBetween("&lt;h1&gt;Hello World!&lt;/h1&gt;", start, end)
// substring will be "Hello World!"
ログイン後にコピー

以上がGoで2つの文字または文字列の間の部分文字列を抽出する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!