在Java中的多个空格处使用tokenizer或split string

jer*_*own 2 java string tokenize

我需要标记一个字符串,其中有多个空格.

例如

"HUNTSVILLE, AL                   30   39.8   44.3   52.3"
Run Code Online (Sandbox Code Playgroud)

"HUNTSVILLE, AL","30","39.8","44.3","52.3"
Run Code Online (Sandbox Code Playgroud)


StringTokenizer st = new StringTokenizer(str, "   ");
Run Code Online (Sandbox Code Playgroud)

只是标记任何空格,我无法弄清楚正则表达式做我需要的.

谢谢

Bar*_*ers 8

试试这个:

String s = "HUNTSVILLE, AL                   30   39.8   44.3   52.3";
String[] parts = s.split("\\s{3,}");
for(String p : parts) {
  System.out.println(p);
}
Run Code Online (Sandbox Code Playgroud)

\s匹配任何空格字符,并且{3,}将在3次或更多次与之匹敌.

上面的代码段会打印出来:

HUNTSVILLE, AL
30
39.8
44.3
52.3