0

Java で一部の文字を置き換えるのに大きな問題があります。文字、数字、または「ę、ą」などの特殊な国別文字以外のすべての文字を削除したいと思います。関数を使用すると、replaceAll("\W", " ")特殊文字も削除されます。

文字列の例: 「Jest źle, ale będzie lepiej.」

置き換え方法: 「Jest le ale b dzie lepiej」

どうあるべきか:「Jest źle ale będzie lepiej」

私の英語が下手でごめんなさい:)

4

1 に答える 1

0

あなたの英語は Java のポーランド語より上手です。Java の正規表現はポーランド語を話さないため、a..z の「国別文字」 (および数字とアンダースコア - GREP は明らかにプログラマーによって設計されたもの) のみを考慮します。ある言語の「通常の」文字は、別の言語の「奇妙な」文字です。

カスタムの否定文字クラスでいくつかの余分な非 ASCII 文字をまとめることができます。

replace ("[^\wźę ]", " ");

(他のアクセント付き文字も追加し、おそらくQ や X などのポーランド語以外の文字を削除する必要があります)。

于 2014-05-25T21:47:04.950 に答える