Elixir - 如何检查字符串是否包含文本或者是否是数字(“453”)

nac*_*ido 3 string numbers elixir

我有一个带字符串的列表

>> list = ["h3llo","899","3@"]
Run Code Online (Sandbox Code Playgroud)

如果列表元素至少有 1 个字母或特殊字符,则被视为 :text,否则它是 :number

>> list = [:text, :number, :text]
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

Ada*_*hip 7

一种方法是使用Integer.parse/2

case Integer.parse(str) do
  {_, ""} -> :number
  _ -> :text
end
Run Code Online (Sandbox Code Playgroud)