【问题标题】:haskell: filtering Strings with a certain symbol e.g '!' in a List?haskell:过滤带有特定符号的字符串,例如“!”在列表中?
【发布时间】:2015-04-29 13:45:50
【问题描述】:

我有一个字符串列表: ["1*1", "ab!c", "cde2", "efghi!"] 我想用'!' 整理每个字符串。 我的第一个想法是: filter (map elem '!' (list)) list 带有 map elem '!' 的字符串(列表),但这并没有真正起作用,因为它只检查字符串本身,而不是该列表中字符串的元素......

感谢您的帮助!

【问题讨论】:

  • 这几乎是对的——确实你有点多;)——提示:检查elemelem '!'filter的类型并注意String = [Char];D-顺便说一句:如果你能提到什么对你不起作用(例如编译器错误、出错的东西)等,那真的很有帮助)

标签: string list haskell


【解决方案1】:

你映射的太多了。

filter ('!' `elem`) list

应该适合你....

说明:

您有一个字符串列表[String]。 字符串是一个字符列表,因为String = [Char]...

所以基本上你有一个列表列表。 [[Char]] 由于 elem 通过检查列表中是否存在单个元素来工作,因此您只需对外部列表中的每个列表项调用 elem

【讨论】:

  • 是的,这是正确的 - 但很可能这个问题是家庭作业,你应该等待更长的时间才能破坏 - 无论如何 +1 ^^
  • 是的,但无论如何这有很大帮助!另一个问题:我如何反转过滤器?好吧,我想用“!”返回一个没有字符串的列表,....
  • 可以使用not...如果这确实是家庭作业,请尝试通过将notelem 组合在一起来定义自己的函数。
  • 我如何同时过滤'!','?','+'?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-02
  • 2022-07-01
  • 1970-01-01
相关资源
最近更新 更多