语法剥离是Haskell的Palindrome函数

jok*_*r94 1 haskell strip palindrome

只是为了确保没有混淆.

我不是在问如何写一个普通的回文取景器.

我知道这将是一个重复的问题.

我知道要找到你使用的回文

isPalindrome :: (Eq a) => [a] -> Bool
isPalindrome xs = xs == (reverse xs)
Run Code Online (Sandbox Code Playgroud)

对于"madamimadam",这将成为现实.

我无法弄清楚的是,对于"我是亚当女士",这个功能会回归真实.

mel*_*ene 5

import Data.Char (isAlphaNum, toLower)

isPalindromeStripped :: String -> Bool
isPalindromeStripped xs = isPalindrome (strip xs)

strip :: String -> String
strip xs = map toLower (filter isAlphaNum xs)
Run Code Online (Sandbox Code Playgroud)

此版本用于strip转换"Madam I'm Adam""MadamImAdam"第一个,然后将其降低为"madamimadam".