在Haskell中,如何替换ASCII中的ByteString
字符子字符串?如何使用字符串作为参数在replace
中使用函数Data.ByteString.Search
?还有其他方法可以在ByteString
中执行子字符串替换吗?例如,将ByteString
转换为String
是否有意义,使用String
执行字符串替换,然后将结果转换回ByteString
?< / p>
答案 0 :(得分:5)
必须使用pack
将字符串转换为ByteString
。
如果字符串是字符串文字,则可以使用OverloadedStrings
扩展名。这会自动将字符串文字转换为ByteString
。
答案 1 :(得分:1)
示例Teetoo的answer:
Prelude> :module + Data.ByteString.Char8 Data.ByteString.Search
Prelude Data.ByteString.Char8 Data.ByteString.Search> replace (pack "World") (pack "Derek") (pack "Hello, World!")
"Hello, Derek!"
Prelude Data.ByteString.Char8 Data.ByteString.Search>