Java按空格,新行,制表符,标点符号拆分字符串

Gia*_*inh 12 java string

大家.

我有这样的字符串

String message = "This is the new message or something like that, OK";
Run Code Online (Sandbox Code Playgroud)

我想把它拆分成数组

String[] dic = {"this", "is", "the", "new", "message", "or", "something", "like", "that", "OK"};
Run Code Online (Sandbox Code Playgroud)

我用了

message = message.split("\\s+");
Run Code Online (Sandbox Code Playgroud)

问题在于它包含"那个",而不是"我想要的".请教我如何解决它.谢谢

Gar*_*all 33

你可以做

String[] dic = message.split("\\W+");
Run Code Online (Sandbox Code Playgroud)

\\W意味着不是字母数字字符.


Ale*_*ila 5

您可以使用StringTokenizer

 String message = "This is the new message or something like that, OK";
 String delim = " \n\r\t,.;"; //insert here all delimitators
 StringTokenizer st = new StringTokenizer(message,delim);
 while (st.hasMoreTokens()) {
     System.out.println(st.nextToken());
 }
Run Code Online (Sandbox Code Playgroud)