[Golang]FieldsFunc()で文字列(string)をスペースで分割した配列に変換するには?

Go

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

FieldsFunc()を使って文字列(string)のスペース(空白)で分割した配列に変換する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

FieldsFunc()を使って文字列(string)のスペース(空白)で分割した配列に変換するには、2つの引数を使います。

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

import "strings"

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

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

関数で、引数が空白の場合に「true」となる条件式を返します。

//text=対象の文字列
result := strings.FieldsFunc(text, func(x rune) bool {
    return unicode.IsSpace(x)
})

上記のFieldsFunc()は、第1引数に指定した文字列(string)をスペース(空白)で分割した配列に変換します。

使用例

package main

import (
	"fmt"
	"strings"
	"unicode"
)

func main() {
	text := "He l lo,  W or ld"

	result := strings.FieldsFunc(text, func(x rune) bool {
		return unicode.IsSpace(x)
	})

	fmt.Printf("分割した配列: %q", result)
}
出力:
分割した配列: ["He" "l" "lo," "W" "or" "ld"]

コメント

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