String 用haskell匹配两个字符串中的字母
我刚从haskell开始,我想知道是否有一种简单的方法来匹配两个字符串之间的字母并输出它们 比如: 冰和喜欢的会返回i,e,dString 用haskell匹配两个字符串中的字母,string,haskell,match,letters,String,Haskell,Match,Letters,我刚从haskell开始,我想知道是否有一种简单的方法来匹配两个字符串之间的字母并输出它们 比如: 冰和喜欢的会返回i,e,d 谢谢大家! 使用Data.Set.intersection: import qualified Data.Set as S sharedLetters str1 str2 = S.toList $ S.intersection (S.fromList str1) (S.fromList str2) 编辑:正如@jozefg所指出的,Data.List中有一个函数
谢谢大家! 使用
Data.Set.intersection
:
import qualified Data.Set as S
sharedLetters str1 str2 = S.toList $ S.intersection (S.fromList str1) (S.fromList str2)
编辑:正如@jozefg所指出的,Data.List
中有一个函数,它对列表也有同样的作用:
> import Data.List (intersect)
> intersect "liked" "iced"
"ied"
请更仔细地说明“匹配”的含义。字母的顺序算数吗?如果有倍数呢?从您目前提供的信息来看,这可以是任何问题,从简单的集合交集到问题。我指的是字符串中的匹配字母,就像我给出的示例一样。如果输入粗体和cold,返回字符串将是o、l、d,因为这两个字符串都使用这3个字母,这3个字母是关于
dloc
和bold
?或者boooold
和coold
?@Sevo你对答案很满意,但是请你回答hammar的问题,并用这些信息编辑你的问题好吗?也许值得一提的是这个列表,因为这个oP对Haskell来说是新的,可能不知道setshaha我想让它工作,仅在输出时出错:导入数据。列表(intersect)main=do putStrLn“Woord1:”;a嗯,这样读代码可能很难?@Sevo:试试看,行了!谢谢你们!