如何删除字符串中的特定最后一个字符
我想删除字符串的最后一个字符,如果它是“!”
我知道我想要基本情况,即。如果字符串为空:
remove [] = []
如何索引最后一个字符?使用:
last
并且,为这个问题创建“if, then”循环的最佳方法是什么?
我应该使用警卫吗? |
回答
Haskell 解决这个问题的方法是递归和模式匹配:
remove "" = "" -- obvious
remove "!" = "" -- that's what we're here for
remove (x:xs) = (x : remove xs) -- keep the head, proceed to the tail
任何带有last条件结构的尝试都将不那么优雅和高效。
- 你不需要`[x]`的第三种情况。