1. ホーム
  2. regex

[解決済み] Goで文字列を空白で分割する?

2022-04-28 07:55:44

質問

次のような入力文字列があるとします。 " word1 word2 word3 word4 " Goでこれを文字列の配列として分割するには、どのような方法が最適でしょうか?なお、文字列の配列には 任意の 各単語間のスペースまたはユニコード文字数。

Javaでは、単に someString.trim().split("\\s+") .

(注) 重複する可能性がある Goで正規表現を使って文字列を分割する は良質な答えを与えてくれません。へのリンクだけでなく、実際の例を提示してください。 regexp または strings パッケージの参照)

解決方法は?

その strings パッケージには Fields メソッドを使用します。

someString := "one    two   three four "

words := strings.Fields(someString)

fmt.Println(words, len(words)) // [one two three four] 4

DEMOです。 http://play.golang.org/p/et97S90cIH

docsより。

func Fields(s string) []string

フィールズは文字列を分割する s の部分文字列の配列を返します。 s または、s が空白文字だけを含む場合は空リストである。