String 如何验证字符串列表是否只包含数字字符?

String 如何验证字符串列表是否只包含数字字符?,string,list,haskell,String,List,Haskell,如果我的字符串列表只包含数字字符,我希望有一个返回True的函数,否则返回False 例如: [1, 2, 3, 24, 101] 函数返回True 如果没有: [1,2,a] 函数返回False。import Data.Char ListOfstring=[1,2,3,24,101] checklistofstringsarenum::[String]->Bool checkListOfStringsAreNums listOfStrings=foldr&&True isElemsAreNum

如果我的字符串列表只包含数字字符,我希望有一个返回True的函数,否则返回False

例如: [1, 2, 3, 24, 101] 函数返回True 如果没有: [1,2,a] 函数返回False。

import Data.Char ListOfstring=[1,2,3,24,101] checklistofstringsarenum::[String]->Bool checkListOfStringsAreNums listOfStrings=foldr&&True isElemsAreNums 哪里 isElemsAreNums::[Bool] isElemsAreNums=fmap isStringOfDigits列表字符串 isStringOfDigits::字符串->布尔 isStringOfDigits=所有isDigit 导入数据.Char ListOfstring=[1,2,3,24,101] checklistofstringsarenum::[String]->Bool checkListOfStringsAreNums listOfStrings=foldr&&True isElemsAreNums 哪里 isElemsAreNums::[Bool] isElemsAreNums=fmap isStringOfDigits列表字符串 isStringOfDigits::字符串->布尔 isStringOfDigits=所有isDigit 如果字符为0到9,则返回True

确定结构的所有元素是否满足谓词

因此,如果字符串只包含数字,则all isDigit返回True。因此,如果字符串列表仅包含数字,则所有isDigits都返回True

import Data.Char ( isDigit )

onlyDigits :: [String] -> Bool
onlyDigits = all (all isDigit)
请注意,当应用于空列表[]时,all始终返回True。

如果字符为0到9,则返回True

确定结构的所有元素是否满足谓词

因此,如果字符串只包含数字,则all isDigit返回True。因此,如果字符串列表仅包含数字,则所有isDigits都返回True

import Data.Char ( isDigit )

onlyDigits :: [String] -> Bool
onlyDigits = all (all isDigit)

请注意,当应用于空列表[]时,all始终返回True。

如果您向我们展示您尝试的内容以及失败的原因,您的帖子会有所改进。空字符串是否可以?您的帖子会有所改进,如果你告诉我们你尝试了什么以及失败的原因。空字符串行吗?foldr可以用all替换。注意,这种方法会拒绝带有小数点或负号的数字,这可能是OP想要的,也可能不是OP想要的。那么,应该问这个问题。否则,当客户端还没有发送请求时,服务器需要有预认知。如果我们深入研究数字可能是什么——这是一个无穷无尽的话题。这个问题是针对正整数的。为了给出一般的答案,我们需要解析:负数,科学符号指数,浮点数,最好是关于可能的局部化,也就是我所在的位置,用于分离,考虑GMP大小的情况,{有理数,钢琴数,复数,四分之一}数,这显然也是数字。foldr可以被all替换。注意,这种方法将拒绝带有小数点或减号的数字-这可能是OP想要的,也可能不是OP想要的。那么,应该问这个问题。否则,当客户端还没有发送请求时,服务器需要有预认知。如果我们深入研究数字可能是什么——这是一个无穷无尽的话题。这个问题是针对正整数的。为了给出一般的答案,我们需要解析:负数,科学符号指数,浮点数,最好是关于可能的局部化,也就是我所在的位置,用于分离,考虑GMP大小的情况,{有理数,钢琴数,复数,四分之一}数,它们显然也是数。