为什么takeWhile会在有更多字符可用时返回空字符串?

Nus*_*rat 2 haskell

我有一个字符串,r其值低于,我想提取字符串"index.htm".

"<a id=\"ctl00_HyperLink_home\" href=\"index.htm\"> " ++
"<font color=\"#FFFFFF\">Home</font>" ++
"</a>"
Run Code Online (Sandbox Code Playgroud)

我的代码是

parseHref :: String -> String
parseHref ('h':'r':'e':'f':'=':'\"':xs) =  takeWhile( '\"'>) xs
parseHref (_:xs) = parseHref xs
Run Code Online (Sandbox Code Playgroud)

但是parseHref r是空字符串.有人可以帮忙吗?提前致谢.

cob*_*bal 8

"是ASCII 32
i是ASCII 105

因为"不大于i,所以takeWhile什么都不带,并返回一个空字符串.

也许你应该用('\"' /=)