stringsパッケージのSplit関数
ある文字列を1文字ずつバラバラにして新しく配列を作る時、stringパッケージのSplit関数を使用することで可能となります。
基本的な使い方はこの通り。
array := strings.Split(対象の文字列, "")
Split関数の第1引数に分割したい文字列を、第2引数にはバラバラにする時に基準となる文字列を入れます。
特定の文字列を基準とせず、全てバラバラに分割したい時、第2引数は空文字を入れればOKです。
具体的なコード例
文字列を1文字ずつ分割する場合
package main
import (
"fmt"
"strings"
)
func main() {
string := "hello"
letters := strings.Split(string, "")
fmt.Println(letters)
fmt.Printf("%#v\n", letters)
}
出力結果
[h e l l o]
[]string{"h", "e", "l", "l", "o"}
空白文字を基準に分割する場合
package main
import (
"fmt"
"strings"
)
func main() {
string := "hello world good morning"
letters := strings.Split(string, " ")
fmt.Println(letters)
fmt.Printf("%#v\n", letters)
}
実行結果
[hello world good morning]
letters[%#v] -> []string{"hello", "world", "good", "morning"}
改行文字で文字列を分割する場合
package main
import (
"fmt"
"strings"
)
func main() {
string := "This\nis\na\npen"
letters := strings.Split(string, "\n")
fmt.Println(letters)
fmt.Printf("%#v\n", letters)
}
実行結果
[This is a pen]
[]string{"This", "is", "a", "pen"}
カンマで文字列を分割する場合
package main
import (
"fmt"
"strings"
)
func main() {
string := "This,is,a,pen"
letters := strings.Split(string, ",")
fmt.Println(letters)
fmt.Printf("%#v\n", letters)
}
実行結果
[This is a pen]
[]string{"This", "is", "a", "pen"}