1

はい、同様の質問があることは知っていますが、別の質問が必要です。

句読点、スペース、引用符、ハイフンなどを正規化したいのですが、文字には触れません。

二重引用符、一重引用符、スペースなどにはさまざまな文字があります。すべての可能性をデフォルトの文字に置き換えたいと思います。

現時点では、正規表現を使用していますが、見つけたすべての可能性を収集し、手動で正規表現に追加しています。これを実行できるライブラリがあるかどうかを知りたいのですが、アクセント付きの文字をアクセントのない文字に置き換えるなど、文字を変更しないでください。

編集:

ここではいくつかの例を示します。

text.replaceAll("[–––—]", "-");
text.replaceAll("[\\u0000-\\u0009\\u000B-\\u001F\\u0080-\\u009F]", "");
replacedText = text.replaceAll("[“”“”““”“”“”“”“”]", "\"");
text.replaceAll("[\\u00A0\\u2000-\\u200B\\u205F\t]+", " ");

多くの文字のフォント表現は同じですが、Unicode では異なる文字です。

4

1 に答える 1

1

私たちが行っているのと同じ理由 (全文検索/インデックス作成) でこれを行っている場合は、Luceneが提供するテキスト正規化機能を調べることができます。良い例はここにあります。

Patternそれ以外の場合は、Javaとクラスを使用した正規表現がMatcher最善の策です。

于 2011-11-22T03:08:39.437 に答える