本帖最后由 杨_扬 于 2012-7-6 05:44 编辑
public class SplitString {
public static void main(String[] args) {
//定义一个字符串,可以看到,这个字符串,首、尾、中间,都有空格
String s = " a b c d ";
//首先,我们用String类的方法trim()去掉字符串首尾的空格,trim()方法是一个专门用来去掉字符串首尾空格的方法
s = s.trim();
//然后,再调用split()方法以“ ”作为key去拆分字符串
String[] split = s.split(" ");
//为了避免在重新连接字符串时产生过多的garbage(抱歉,中文这个词在论坛是敏感词) object,因此这里使用StringBuffer
StringBuffer sb = new StringBuffer("");
//将拆分好的字符串重新连接
for (int i=0; i<split.length; i++){
sb.append(split);
}
//输出
System.out.println(sb.toString());
}
}
下面是在帮助文档中关于用到的两个方法的解释
public String trim() 此字符串移除了前导和尾部空白的副本;如果没有前导和尾部空白,则返回此字符串。
public String[] split(String regex) 根据给定正则表达式的匹配拆分此字符串。 该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split 方法。因此,所得数组中不包括结尾空字符串。
例如,字符串 "boo:and:foo" 使用这些表达式可生成以下结果:
Regex | 结果 | : | { "boo", "and", "foo" } | o | { "b", "", ":and:f" } |
参数:regex - 定界正则表达式 返回:字符串数组,它是根据给定正则表达式的匹配拆分此字符串确定的 抛出: PatternSyntaxException - 如果正则表达式的语法无效 |