我有一个包含字符串的列表
>> list = ["h3llo","899","3@"]
如果列表元素至少包含1个字母或特殊字符,则将其视为:text,否则为:number
>> list = [:text, :number, :text]
我该怎么办?
答案 0 :(得分:1)
一种方法是使用Integer.parse/2
:
case Integer.parse(str) do
{_, ""} -> :number
_ -> :text
end
答案 1 :(得分:0)
另一种方法是简单的正则表达式
iex> Regex.match?(~r/^\d+$/, "h3llo")
false
iex> Regex.match?(~r/^\d+$/, "899")
true
iex> Regex.match?(~r/^\d+$/, "3@")
false
答案 2 :(得分:-1)
您可以使用String.contains?效果很好,遵循一个摘录的文档示例:
Y