Erlang:如果列表中存在字符,则在插入文本时检查字符
Erlang: check chars in inserting text if chars exists in list
我正在寻找的是,如果插入的文本包含字符和整数,并且如果这些不在列表字符中 return false
示例列表:
List = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
并且该函数应该有 1 个值,例如:
check(Text) ->
List = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"],
如果插入的文字是:
check("you should have 10 point to do this")
应该 return 正确,因为文本中的所有内容都存在于列表中
如果插入的文字是:
check("you should + have ....")
应该 return false 因为列表中不存在“+”&“.”。
请注意,您的第一个 check
示例传递了一个包含 whitespace 的字符串,它不在 List
中,所以我假设您要处理它。
这是解决此问题的一种方法:
check(Text) ->
List = "1234567890abcdefghijklmnopqrstuvwxyz \t\n.",
lists:all(fun(C) -> lists:member(C, List) end, Text).
首先请注意,这里的 List
不是您最初指定的字符串列表,而是字符列表。我还向 List
添加了 space、制表符、换行符和句点字符。
check/1
的第二行逐个字符遍历列表 Text
。对于每个字符 C
,我们检查它是否是 List
的成员。如果所有字符的测试 returns 为真,则 lists:all/2
returns 为真,否则 returns 为假。
我正在寻找的是,如果插入的文本包含字符和整数,并且如果这些不在列表字符中 return false
示例列表:
List = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
并且该函数应该有 1 个值,例如:
check(Text) ->
List = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"],
如果插入的文字是:
check("you should have 10 point to do this")
应该 return 正确,因为文本中的所有内容都存在于列表中
如果插入的文字是:
check("you should + have ....")
应该 return false 因为列表中不存在“+”&“.”。
请注意,您的第一个 check
示例传递了一个包含 whitespace 的字符串,它不在 List
中,所以我假设您要处理它。
这是解决此问题的一种方法:
check(Text) ->
List = "1234567890abcdefghijklmnopqrstuvwxyz \t\n.",
lists:all(fun(C) -> lists:member(C, List) end, Text).
首先请注意,这里的 List
不是您最初指定的字符串列表,而是字符列表。我还向 List
添加了 space、制表符、换行符和句点字符。
check/1
的第二行逐个字符遍历列表 Text
。对于每个字符 C
,我们检查它是否是 List
的成员。如果所有字符的测试 returns 为真,则 lists:all/2
returns 为真,否则 returns 为假。