Go で区切り文字を使用して文字列を分割する

Jay Singh 2023年1月30日
  1. Go の Split() メソッドを使用して文字列をデリミターで分割する
  2. Go の SplitAfter() メソッドを使用して文字列を区切り文字付きで分割する
Go で区切り文字を使用して文字列を分割する

この記事では、Go で文字列を分割する方法について説明します。

Go の Split() メソッドを使用して文字列をデリミターで分割する

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

次の例では、値がコンマで区切られた文字列を区切り文字として使用します。

例 1:

package main

import (
    "fmt"
    "strings"
)

func main() {
    var str = "a-b-c"
    var delimiter = "-"
    var parts = strings.Split(str, delimiter)
    fmt.Println(parts)
}

出力:

[a b c]

例 2:

package main

import (
    "fmt"
    "strings"
)

func main() {
    str := "hi, there!, Good morning"
    split := strings.Split(str, ",")
    fmt.Println(split)
    fmt.Println("Length of the slice:", len(split))
}

出力:

[hi  there!  Good morning]
Length of the slice: 3

例 3:

package main

import (
    "fmt"
    "strings"
)

func main() {
    carString := "BMW,GMC,Supra,Audi"
    cars := strings.Split(carString, ",")
    fmt.Println(cars)
}

出力:

[BMW GMC Supra Audi]

Go の SplitAfter() メソッドを使用して文字列を区切り文字付きで分割する

SplitAfter() は元のテキストを区切りますが、Split() と同様に、各サブストリングの最後に区切り文字を残します。

package main

import (
    "fmt"
    "strings"
)

func main() {
    carString := "BMW.GMC.Supra.Audi"
    cars := strings.SplitAfter(carString, ".")
    fmt.Println(cars)
}

出力:

[BMW. GMC. Supra. Audi]

関連記事 - Go String