Elixir - 拆分一个字符串,使其不返回列表中的空字符串?

Rod*_*olz 7 elixir

我在正则表达式上拆分字符串.结果数组包含正则表达式匹配的空字符串.我不想要那些.例如,

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

如何拆分字符串以便它不会在列表中返回空字符串?

Rod*_*olz 15

String.split文档中所述,

如果trim选项设置为true,则仅从结果中删除空字符串(默认值为false).

因此,您需要在调用时将其添加为String.split:

String.split("Hello world. How are you?", ~r/\W/, trim: true)
["Hello", "world", "How", "are", "you"]
Run Code Online (Sandbox Code Playgroud)