Go言語でのsplitメソッドの使用法は何ですか

青灯夜游
リリース: 2023-01-28 13:37:35
オリジナル
2713 人が閲覧しました

Go 言語では、Split() メソッドを使用して文字列を分割します。区切り文字を使用して文字列を部分文字列のリストに分割すると、部分文字列がスライスの形式で返されます。 Split() は strings パッケージのメソッドで、使用する前に strings パッケージをインポートする必要があります。構文は「strings.Split (分割する文字列、区切り文字)」です。

Go言語でのsplitメソッドの使用法は何ですか

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

Go 言語の分割メソッド

Go では、Split() 関数 (strings パッケージに含まれています) は区切り文字を使用して文字列を部分文字列のリストに分割します。部分文字列はスライスとして返されます。

#構文

#文字列パッケージをインポートする必要があります

strings.Split(s, sep)
ログイン後にコピー

#パラメータssep文字型パラメータ
説明 備考
分割する文字列文字列型のパラメータ
Separator

戻り値


文字列スライスを返します。

使用例

Split() 関数は、区切り文字に従って文字列を分割します。カット後、文字列スライスが返されます。スライスの len と cap の値は、元の文字列の区切り文字の数 1 に等しくなります (これは、s が空の文字列でない場合にのみ当てはまります)。

package main

import (
	"fmt"
	"strings"
)

func main() {
	demo := "I&love&Go,&and&I&also&love&Python."
	string_slice := strings.Split(demo, "&")

	fmt.Println("result:",string_slice)
	fmt.Println("len:",len(string_slice))
	fmt.Println("cap:", cap(string_slice))
}
ログイン後にコピー

実行結果は以下の通りです:

result: [I love Go, and I also love Python.]
len: 8
cap: 8
ログイン後にコピー

注意事項

1. 区切り文字が存在しない場合元の文字列の場合元の文字列に区切り文字が存在しない場合、Split() 関数は元の文字列を len 値と cap 値の両方を含む文字列スライスに変換するだけです。 1.

package main

import (
	"fmt"
	"strings"
)

func main() {
	demo := "I love Go, and I also love Python."
	string_slice := strings.Split(demo, "&")

	fmt.Println("result:",string_slice)
	fmt.Println("len:",len(string_slice))
	fmt.Println("cap:", cap(string_slice))
}
ログイン後にコピー

実行結果は次のとおりです:

result: [I love Go, and I also love Python.]
len: 1
cap: 1
ログイン後にコピー

2. 区切り文字が空の文字列の場合 区切り文字は次のとおりです。 文字列が空の場合、Split() 関数は文字列内の各文字を個別の要素に分割します。

package main

import (
	"fmt"
	"strings"
)

func main() {
	demo := "Go"
	string_slice := strings.Split(demo, "")

	fmt.Println("result:",string_slice)
	fmt.Println("len:",len(string_slice))
	fmt.Println("cap:", cap(string_slice))
}
ログイン後にコピー

実行結果:

result: [G o]
len: 2
cap: 2
ログイン後にコピー

3. パラメータはすべて空の文字列ですSplit の 2 つのパラメータが() 関数 両方のパラメーターが空の文字列である場合 (つまり、s と sep が両方とも空の文字列である場合)、Split() 関数は、len 値と cap 値の両方が 0 である空の文字列スライスを返します。

package main

import (
	"fmt"
	"strings"
)

func main() {
	demo := ""
	string_slice := strings.Split(demo, "")

	fmt.Println("result:",string_slice)
	fmt.Println("len:",len(string_slice))
	fmt.Println("cap:", cap(string_slice))
}
ログイン後にコピー

実行結果:

result: []
len: 0
cap: 0
ログイン後にコピー

4. s が空の文字列で、sep が空の文字列ではない場合 ##前のシナリオとは異なり、この場合、結果は依然として文字列スライスですが、文字列スライスの len 値と cap 値は (前のシナリオのような 0 ではなく) 1 です。返される結果は、空の文字列を含む文字列スライスです。

package main

import (
	"fmt"
	"strings"
)

func main() {
	demo := ""
	string_slice := strings.Split(demo, "*")

	fmt.Println("result:",string_slice)
	fmt.Println("len:",len(string_slice))
	fmt.Println("cap:", cap(string_slice))

	element := string_slice[0]
	fmt.Printf("string_slice[0]:%s, type:%T, len():%d\n",
		element, element, len(element),)

	fmt.Println("element == \"\"?", element == "")
}
ログイン後にコピー

実行結果:

result: []
len: 1
cap: 1
string_slice[0]:, type:string, len():0
element == ""? true
ログイン後にコピー

5。返された文字列スライスには区切り文字が含まれなくなりました

[関連推奨: Go ビデオ チュートリアル

プログラミング教育 ]

以上がGo言語でのsplitメソッドの使用法は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート