[Golang]文字列(string)を1文字ずつに分割した配列に変換するには?

Go

どうも、ちょげ(@chogetarou)です。

文字列(string)を1文字ずつに分割した配列に変換する方法を紹介します。

スポンサーリンク

方法

文字列(string)を1文字ずつに分割した配列に変換する方法は、2つあります。

runeの配列

ひとつは、「rune」の配列を使う方法です。

まず、「[]rune()」を記述します。

そして、「[]rune()」の「()」内に対象の文字列を指定します。

//text=対象の文字列
result := []rune(text)

上記の「[]rune()」は、()内に指定した文字列を1文字ずつに分割した配列を生成します。

使用例

package main

import "fmt"

func main() {
	text := "Hello,World"

	result := []rune(text)

	fmt.Printf("分割した配列: %q", result)
}
出力:
分割した配列: ['H' 'e' 'l' 'l' 'o' ',' 'W' 'o' 'r' 'l' 'd']

Split()

もうひとつは、Split()を使う方法です。

まず、stringsをインポートします。

import "strings"

次に、stringsからSplit()を呼び出します。

そして、Split()の第1引数に対象の文字列、第2引数に空文字を指定します。

//text=対象の文字列
result := strings.Split(text, "")

上記のSplit()は、第1引数に指定した文字列(string)を1文字ずつで分割した配列に変換します。

使用例

package main

import (
	"fmt"
	"strings"
)

func main() {
	text := "Hello,World"

	result := strings.Split(text, "")

	fmt.Printf("分割した配列: %q", result)
}
出力:
分割した配列: ["H" "e" "l" "l" "o" "," "W" "o" "r" "l" "d"]

まとめ

文字列(string)を1文字ずつに分割した配列に変換する方法は、次の2つです。

  • runeの配列を使う方法
    result := []rune(text)
  • Split()を使う方法
    result := strings.Split(text, "")

コメント

タイトルとURLをコピーしました