黑马程序员技术交流社区

标题: 不定长度空格分隔字符串问题 [打印本页]

作者: 彭小芳    时间: 2012-2-17 21:58
标题: 不定长度空格分隔字符串问题
有如下的字符串:
“aaa    bbb       ccc   ddd     eee”.
字符串间用不定长度的空格分隔,现在要将字符串按照按空格分隔,得到这样一个字符串数组[aaa,bbb,ccc,ddd,eee]。

哪位大侠能相告。
作者: 丁晓宇    时间: 2012-2-17 22:23
你先写一个方法 把多个连续的空格转换成一个 再替换掉所剩的空格就好了

先找到第一个空格所在下标然后判断这个下标+1之后的字符是不是空格 如果是就删掉 不是的话continue出去  判断里要加上避免超过字符串最大索引的判断
作者: 丁晓宇    时间: 2012-2-17 22:24
我相信你缺的只是思路 代码你一定不需要的
作者: 张建银    时间: 2012-2-17 23:11
System.out.println("["+"aaa    bbb       ccc   ddd     eee".replaceAll("  +",",")+"]");
作者: 刘丁    时间: 2012-2-17 23:30
  1. package org.ld.other;

  2. import java.util.regex.Pattern;

  3. public class Test {
  4.         public static void main(String[] args) {
  5.                 String string = "aaa bb ff     ccc  dd e   kk";
  6.                 Pattern pattern = Pattern.compile("\\s{1,}");
  7.                 String[] strings = pattern.split(string);
  8.                 for (String string2 : strings) {
  9.                         System.out.print(string2 + " ");
  10.                 }
  11.         }
  12. }
复制代码

作者: 黄秋    时间: 2012-2-18 05:47
s.split(" +"); 括号内的是正则,“+”代表一个或多个,就是可以匹配一个或多个空格。
  1. public class Test {
  2.         public static void main(String[] args) {
  3.                 String s = "aaa bb ff     ccc  dd e   kk";
  4.                 String[] str =s.split(" +");
  5.                 for(String s1 :str){
  6.                         System.out.println(s1);
  7.                 }
  8.         }
  9. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2