string - 从 Haskell 中的字符串中删除额外的引号

标签 string list file haskell io

嘿,在我的文件中,我有这样一行

"Dave", "Zoe", "Amy", "Bill", "Ian", "Kevin", "Emma", "Sam", "Megan"

当处理它并使用 hgetline 将其更改为字符串时,它会导致它转到

"\"Dave\", \"Zoe\", \"Amy\", \"Bill\", \"Ian\", \"Kevin\", \"Emma\", \"Sam\", \"Megan\""

我显然不能做 [putStr String] 因为 putStr 是 IO()

有没有办法摆脱\之类的东西。

谢谢

最佳答案

假设您从包含以下内容的文件中读取行:

"Dave", "Zoe", "Amy", "Bill", "Ian", "Kevin", "Emma", "Sam", "Megan"

当通过via读取时,例如readFilegetLine,这些引号也将出现在您的字符串中。

然后您可以继续根据需要处理该字符串。例如,通过将其拆分为空格,并删除其他引号字符:

> map (filter (/='"')) (words s)
["Dave,","Zoe,","Amy,","Bill,","Ian,","Kevin,","Emma,","Sam,","Megan"]

查看有关列表处理 f or more examples 的更多答案.

关于string - 从 Haskell 中的字符串中删除额外的引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5876095/

相关文章:

string - 在 Go 中比较字符串

c# - 获取多选列表框的选中值

python - 使用 Python 中不同列表的元素填充列表

javascript - 如何在javascript中读取HTML文件内容

file - 解析JPEG文件格式: Format of entropy-coded segments (ECS)?

文件集合上的字符串替换

java - Android-第二秒后未添加字符串

c# - 使用 C# 对 List <string> 进行排序的正确方法是什么?

java - 逐行读取文件,同时将每行的对象存储在数组中

java - 句子中的反转字符