2014-02-04 3 views
3

attoparsec 0,72 имел эту функцию, но она, кажется, исчезли в более поздних версиях:Как вы можете сделать последние строки соответствия Attoparsec без учета регистра?

stringTransform :: (ByteString -> ByteString) -> ByteString -> Parser ByteString 

«Матч символьной строки, после применения преобразования как к нему и текст согласования Полезно, например, для случая сравнения нечувствительны строки.. "

http://hackage.haskell.org/package/attoparsec-0.7.2/docs/Data-Attoparsec.html

ответ

5

Использование stringCI из Data.Attoparsec.ByteString.Char8. Рассмотрите возможность переключения на Text, если вы хотите, чтобы сравнение было в режиме Unicode (например, чтобы «ß» считалось равным «ss»).

+0

Вот что я искал. Благодарю. – dan

+0

@dan Обратите внимание, что если вы переключитесь на 'Text', вы должны использовать' asciiCI', а не 'stringCI'; [последний теперь устарел (для потоков Text)] (http://hackage.haskell.org/package/attoparsec-0.13.0.0/docs/Data-Attoparsec-Text.html#g:11). – Jubobs