文字列を任意の記号String.split()で分割するために渡す必要がある正規表現は何ですか?
ここで、記号とは、次のいずれかを意味します。
`~`, `!`, `@`, `#`, ...
基本的に、非文字および非数字の印刷可能な文字。
文字列を任意の記号String.split()で分割するために渡す必要がある正規表現は何ですか?
ここで、記号とは、次のいずれかを意味します。
`~`, `!`, `@`, `#`, ...
基本的に、非文字および非数字の印刷可能な文字。
非単語を使用する必要があります。\W
\Wの逆です\w
\Wに似ているため[^a-zA-Z0-9_]、単語以外の文字と一致します。_
また
簡単に使用できます[^a-zA-Z0-9]
これを使ってみることができます:-
str.split("[^a-zA-Z0-9]");
これには。は含まれませんunderscore。
\Wと同等です:-"[a-zA-Z0-9_]"
Spring.split("[~!@$]")分割したくない値のように具体的にするか、リストすることができますSpring.split("[^\\w]")
\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