我是Elixir的新手,并不确定其字符串匹配功能。 我正在尝试编写一个elixir函数,它接受一个字符串S作为输入,它基本上只是一条推文并输出其中包含一个#标签的所有单词(#)
S = "This is a #bad day for #trump #america"
def get_hashtags(S)
.......
end
Output : ["#bad", "#trump", "#america"]
这会有很大的帮助。谢谢。
答案 0 :(得分:1)
查看Regex模块
iex> ~r/#[^\s]+/
|> Regex.scan("This is a #bad day for #trump #america")
|> Enum.map(&hd/1)
["#bad", "#trump", "#america"]
答案 1 :(得分:1)
完成此任务的快速和完美方式是过滤器中的模式匹配:
"This is a #bad day for #trump #america"
|> String.split()
|> Enum.filter(fn
<<"#", _ :: binary>> -> true
_ -> false
end)
#⇒ ["#bad", "#trump", "#america"]