2016-05-11 7 views
7

正規表現に文字列を分割しています。結果の配列には、正規表現が一致する空の文字列が含まれます。私はそれらを望んでいない。例:Elixir - 文字列を分割して、空の文字列をリストに戻さないようにしますか?

iex(1)> String.split("Hello world. How are you?", ~r/\W/) 
["Hello", "world", "", "How", "are", "you", ""] 

文字列を分割して、空の文字列をリストに戻さないようにするにはどうすればよいですか?

答えて

12

the String.split docsで述べたように、トリムオプションがtrueに設定されている場合は、

空の文字列のみを(デフォルトはfalse)結果から削除されます。

ですから、String.splitへのお電話でのオプションとしてそれを追加することをお勧めします:

String.split("Hello world. How are you?", ~r/\W/, trim: true) 
["Hello", "world", "How", "are", "you"] 
関連する問題