gpt4 book ai didi

string - 显示 haskell 中重复的单词列表

转载 作者:行者123 更新时间:2023-12-02 09:39:41 24 4
gpt4 key购买 nike

我需要能够编写一个函数,显示字符串中的重复单词,并按其出现顺序返回字符串列表,并忽略非字母

例如在拥抱提示时

repetitions :: String -> [String]

repetitions > "My bag is is action packed packed."
output> ["is","packed"]
repetitions > "My name name name is Sean ."
output> ["name","name"]
repetitions > "Ade is into into technical drawing drawing ."
output> ["into","drawing"]

最佳答案

要将字符串拆分为单词,请使用 words 函数(在 Prelude 中)。要消除非单词字符,请使用 Data.Char.isAlphaNum 进行过滤。将列表及其尾部压缩在一起以获得相邻对(x, y)。折叠列表,得到一个包含所有 x 的新列表,其中 x == y

类似:

repetitions s = map fst . filter (uncurry (==)) . zip l $ tail l
where l = map (filter isAlphaNum) (words s)

我不确定这是否有效,但它应该可以给您一个粗略的想法。

关于string - 显示 haskell 中重复的单词列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/402391/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com