标记生成器或Java中的多个空格分割字符串

我需要来标记一个字符串,其中曾经有一个以上的空间。

例如

"HUNTSVILLE, AL 30 39.8 44.3 52.3"

"HUNTSVILLE, AL","30","39.8","44.3","52.3"

StringTokenizer st = new StringTokenizer(str, " ");

只是tokenizes任何空白,我不能想出一个正则表达式做什么,我需要。

谢谢

--------------解决方案-------------

尝试这个:

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);
}

\s匹配任何空白字符,和{3,}将在3次或更多次匹配。

上面的代码片段将打印:

亨茨维尔
三十
39.8
44.3
52.3

你不用拆?

String[] tokens = string.split(" ");

你必须虽然过滤空项。

试试这个方法:

String[] result = "HUNTSVILLE, AL 30 39.8 44.3 52.3".split("[ ]{2,}");
for (int x=0; x<result.length; x++)
System.out.println(result[x]);

[] -代表空间
{2} -代表超过2

/*
* Uses split to break up a string of input separated by
* whitespace.
*/
import java.util.regex.*;

public class Splitter {
public static void main(String[] args) throws Exception {
// Create a pattern to match breaks
Pattern p = Pattern.compile("[ ]{2,}");
// Split input with the pattern
String[] result =
p.split("one,two, three four , five");
for (int i=0; i<result.length; i++)
System.out.println(result[i]);
}
}

分类:java的 时间:2015-03-15 人气:27
本文关键词: 字符串,JAVA,记号化
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 2.019 (s). 11 q(s)