let ans = stringConcat ["<a href=","\"",str,"\"",">",strr,"</a>"]
putStr ("\nOutput :" ++show (ans))
当我打印这个答案是
Output :"<a href=\"www.test.com\">testing</a>"
我想知道为什么额外的\
正在打印。 \"
假设是双引号的转义码。它再次打印\"
.我想知道为什么会发生这种情况,有没有办法把 "
是一个字符串..?连接函数
stringConcat::[String]->String
stringConcat xs= concat xs
最佳答案
是的,\"
是双引号的正确转义码,所以字符串 ans
包含您预期的双引号。
问题是您正在使用 show
,这是一个显示值的函数,就像它们出现在 Haskell 代码中一样,这意味着必须对带有双引号的字符串进行转义。
> putStrLn (show "I said \"hello\".")
"I said \"hello\"."
所以如果你不想这样,就不要使用
show
:> putStrLn "I said \"hello\"."
I said "hello".
关于string - 转义码\"prints both\"。无论如何要在字符串中添加一个“。?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9172587/