で適切なケースフォールディングを行う方法はありますか( fromParsec
のように動作するパーサーが必要だとします)。大文字と小文字を区別しない解析を行うコードは、を使用しますが、適切な大文字と小文字の区別はありません。だから私はこれがまったく可能かどうか戸惑っています。stringCI
Data.Attoparsec.Text
Text.Parsec.Token
char (toLower c) <|> char (toUpper c)
1 に答える
1
Parsecにはこの組み込みの機能はありませんがfoldCase
、大文字と小文字を区別しないパッケージからsatisfy
ループで実装することができます。私はUnicodeの専門家ではないので、正確さを確保するためにどのような追加の予防措置を講じる必要があるのかわかりません。
text-icuパッケージは、ロケールに依存する変換が必要な場合のドキュメントで推奨されていますfoldCase
。それはかなり包括的であるようです。
于 2012-01-03T18:03:31.320 に答える