1

文字列を任意の記号String.split()で分割するために渡す必要がある正規表現は何ですか?

ここで、記号とは、次のいずれかを意味します。

`~`, `!`, `@`, `#`, ...

基本的に、非文字および非数字の印刷可能な文字。

4

4 に答える 4

5

非単語を使用する必要があります。\W

\Wの逆です\w

\Wに似ているため[^a-zA-Z0-9_]、単語以外の文字と一致します。_

また

簡単に使用できます[^a-zA-Z0-9]

于 2012-10-26T16:11:55.190 に答える
3

これを使ってみることができます:-

str.split("[^a-zA-Z0-9]");

これには。は含まれませんunderscore

\Wと同等です:-"[a-zA-Z0-9_]"

于 2012-10-26T16:12:54.840 に答える
1

Spring.split("[~!@$]")分割したくない値のように具体的にするか、リストすることができますSpring.split("[^\\w]")

于 2012-10-26T16:12:38.990 に答える
1

\Wまたはを使用することもできます^\w。詳細については、こちらを参照してください:正規表現: 文字クラス

    String str = "a@v$d!e";
    String[] splitted = str.split("\\W");
    System.out.println(splitted.length); //<--print 4

また

    String str = "a@v$d!e";
    String[] splitted = str.split("[^\\w]");
    System.out.println(splitted.length); //<--print 4
于 2012-10-26T16:14:31.903 に答える