2011-06-13 18 views
1

我需要編寫一個函數來查找兩個字符串的常見字符並顯示這些常見字符。我認爲是不重要的程序,但我不知道如何放在一起函數:使用函數elem我可以測試x元素是否在字符串中。使用過濾器,我只能使用公共元素在一個字符串中顯示它們。但是如何關聯/比較這兩個字符串。?與Haskell程序如何找到兩個字符串的常見字符並顯示它們

+1

恐怕我不明白你的問題。如果你在一個字符串中有共同的字符,是不是你想要的? – sepp2k 2011-06-13 18:06:56

+0

另外我是litlle混淆如果我可以調整以前的信息this.Two前我如何確定如果一個字符串是其他的子字符串。例如:字符串:「我要去學校」,然後我想知道字符串「going」是否是子字符串(true)。但是知道我需要確定任何地方或順序中的commoon字符,例如,如果第二個字符串是「else」具有共同字符(e,l,s),但它不是子字符串。現在我不知道常用字符(我相信編譯不對)實際上是:找到所有2字符串並顯示它們 – julia 2011-06-13 19:03:44

回答

1

可以使用倍(考慮到兩個字符串LI1和LI2):

 foldl (\xs x -> if elem x li2 then (x : xs) else xs) [] li1 
+3

除了反轉結果之外,「foldl」與使用「filter」有什麼不同呢? – sepp2k 2011-06-13 18:19:53

7

你正在努力尋找兩個列表的交集?

Data.List> intersect "haskell" "java" 
"a" 
+2

請注意,您必須通過在文件頂部輸入「import Data.List」來導入'Data.List',然後才能使用'intersect'。 – fuz 2011-06-13 19:44:18

0

你可以filter一個串字符是另一個elems。這是最簡單的方法。

相關問題