3

すべての数字、余分なスペース、ダッシュ、カンマ、ドット、括弧などを除いて、単語のみのクリア テキストが必要です。これは、単語生成アルゴリズム (gamasutra から取得) に使用されます。ここで正規表現が役立つと思います。String.split を使用してこれを行うにはどうすればよいですか?

更新:

入力: コンマ、多くのスペース、数字 - 2 3 4、ダッシュなど、さまざまなものを含む文字列が 1337 個あります。どうすればすべてのものを削除できますか?

出力: コンマ、多くのスペース、数字、ダッシュなど、さまざまなものを含む文字列があります。すべてのものを削除するにはどうすればよいですか

4

3 に答える 3

3

Unicode に関心がある場合 (そうするべきです)、Unicode プロパティを使用してください。

String[] result = s.split("\\P{L}+");

\p{L}任意の言語の文字の Unicode プロパティです。

\P{L}は の否定であり\p{L}、文字以外のすべてに一致することを意味します。(それがあなたの望みだと理解しました。)

于 2013-06-12T08:49:04.177 に答える
1

私はこのようにします

    str = str.replaceAll("\\s+", " ");
    str = str.replaceAll("\\p{Punct}|\\d", "");
    String[] words = str.split(" ");
于 2013-06-12T08:40:19.877 に答える