English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Golang 基礎チュートリアル

Golang 制御文

Golang 関数 & メソッド

Golang 構造体

Golang スライス & 配列

Golang 文字列(String)

Golang ポインタ

Golang インターフェース

Golang 并行

Golang エラ(Error)

Golang その他の雑項

Go言語の文字列分割

Go言語では、文字列、C ++、Pythonなどの他の言語と異なり、-8コードは、1つまたは複数のバイトで表現されています。Goの文字列では、以下の関数を使用して文字列をスライスに分割できます。

1.Split:この関数は、指定された区切り文字で分割されたすべてのサブストリングを含むスライスを返します。

文法:

func Split(str, sep string) []string

ここでは、strは文字列であり、sepは区切り文字です。strに指定されたsepが含まれていない場合、またはsepが空でない場合、1のスライス、strのみを含むもの。または、sepが空の場合は、各UTF-8シーケンスを分割します。または、strとsepがすべて空の場合は、空のスライスを返します。

package main
import (
    "fmt"
    "strings"
)
func main() {
    //文字列の作成と初期化
    str1 := "ウェルカム、オンラインポータル、オブ、w3codebox"
    str2 := "私の犬の名前はDollarです"
    str3 := "私はルドを遊びたいです"
    //文字列を表示
    fmt.Println("String 1: ", str1)
    fmt.Println("String 2: ", str2)
    fmt.Println("String 3: ", str3)
    //指定された文字列を分割
    //Split()関数を使用
    res1 := strings.Split(str1, ",")
    res2 := strings.Split(str2, "")
    res3 := strings.Split(str3, "!")
    res4 := strings.Split("", "w3codebox、 geeks"
    // 結果を表示
    fmt.Println("\nResult 1: ", res1)
    fmt.Println("Result 2: ", res2)
    fmt.Println("Result 3: ", res3)
    fmt.Println("Result 4: ", res4)
   }

出力:

String 1:  ウェルカム、オンラインポータル、オブ、w3codebox
String 2:  私の犬の名前はDollarです
String 3:  私はルドを遊びたいです
Result 1: Welcome  to the  online portal  of w3codebox]
Result 2:  [私の 犬の 名前は Do ll a r]
Result 3:  [私はルドを遊びたいです]
Result 4:  []

2. SplitAfter:この関数は、指定された区切り文字の各インスタンスの後で文字列をすべてのサブストリングに分割し、それらのサブストリングを含むスライスを返します。

文法:

func SplitAfter(str, sep string) []string

ここでは、strは文字列であり、sepは区切り文字です。strに指定されたsepが含まれていない場合、またはsepが空でない場合、1のスライス、strのみを含むもの。または、sepが空の場合は、各UTF-8シーケンスを分割します。または、strとsepがすべて空の場合は、空のスライスを返します。

package main
import (
    "fmt"
    "strings"
)
func main() {
    //文字列の作成と初期化
    str1 := "ウェルカム、オンラインポータル、オブ、w3codebox"
    str2 := "私の犬の名前はDollarです"
    str3 := "私はルドを遊びたいです"
    //文字列を表示
    fmt.Println("String 1: ", str1)
    fmt.Println("String 2: ", str2)
    fmt.Println("String 3: ", str3)
    //指定された文字列を分割
    //SplitAfter()関数を使用
    res1 := strings.SplitAfter(str1, ",")
    res2 := strings.SplitAfter(str2, "")
    res3 := strings.SplitAfter(str3, "!")
    res4 := strings.SplitAfter("", "w3codebox、 geeks"
    //結果を表示
    fmt.Println("\nResult 1: ", res1)
    fmt.Println("Result 2: ", res2)
    fmt.Println("Result 3: ", res3)
    fmt.Println("Result 4: ", res4)
}

出力:

String 1:  ウェルカム、オンラインポータル、オブ、w3codebox
String 2:  私の犬の名前はDollarです
String 3:  私はルドを遊びたいです
Result 1:  [ウェルカム、 オンラインポータル、 オブ、 w3codebox]
Result 2:  [私の 犬の 名前は Do ll a r]
Result 3:  [私はルドを遊びたいです]

3. SplitAfterN:この関数は、指定された区切り文字の各インスタンスの後で文字列をすべてのサブストリングに分割し、それらのサブストリングを含むスライスを返します。

文法:

func SplitAfterN(str, sep string, m int) []string

ここでは、strが文字列であれば、sepは区切り文字で、mは返されるサブストリングの数を探すために使用されます。ここでは、m> 0、それが最も多く返されます。mのサブストリング、そして最後の文字列サブストリングは分割されません。m == 0、それがnilを返します。もしなら、m <0、それがすべてのサブストリングを返します。

package main 
  
import ( 
    "fmt"
    "strings"
) 
  
func main() { 
  
    //文字列の作成と初期化
    str1 := "ウェルカム、オンラインポータル、オブ、w3codebox"
    str2 := "私の犬の名前はDollarです"
    str3 := "私はルドを遊びたいです"
  
    //文字列を表示
    fmt.Println("String 1: ", str1) 
    fmt.Println("String 2: ", str2) 
    fmt.Println("String 3: ", str3) 
  
    //指定された文字列を分割
    //使用SplitAfterN()関数
    res1 := strings.SplitAfterN(str1, ",", 2) 
    res2 := strings.SplitAfterN(str2, "", 4) 
    res3 := strings.SplitAfterN(str3, "!", 1) 
    res4 := strings.SplitAfterN("", "w3codebox, geeks", 3) 
  
    //結果を表示 
    fmt.Println("\nResult 1: ", res1) 
    fmt.Println("Result 2: ", res2) 
    fmt.Println("Result 3: ", res3) 
    fmt.Println("Result 4: ", res4) 
  
}

出力:

String 1:  ウェルカム、オンラインポータル、オブ、w3codebox
String 2:  私の犬の名前はDollarです
String 3:  私はルドを遊びたいです
Result 1:  [ウェルカム、オンラインポータル、オブ、w3codebox]
Result 2:  [私の犬の名前はDollarです]
Result 3:  [私はルドを遊びたいです]
Result 4:  []