A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 彭小芳 中级黑马   /  2012-2-17 21:58  /  4141 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有如下的字符串:
“aaa    bbb       ccc   ddd     eee”.
字符串间用不定长度的空格分隔,现在要将字符串按照按空格分隔,得到这样一个字符串数组[aaa,bbb,ccc,ddd,eee]。

哪位大侠能相告。

5 个回复

倒序浏览
你先写一个方法 把多个连续的空格转换成一个 再替换掉所剩的空格就好了

先找到第一个空格所在下标然后判断这个下标+1之后的字符是不是空格 如果是就删掉 不是的话continue出去  判断里要加上避免超过字符串最大索引的判断
回复 使用道具 举报
我相信你缺的只是思路 代码你一定不需要的
回复 使用道具 举报
System.out.println("["+"aaa    bbb       ccc   ddd     eee".replaceAll("  +",",")+"]");

评分

参与人数 1技术分 +1 收起 理由
唐秀启 + 1

查看全部评分

回复 使用道具 举报
  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. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
唐秀启 + 1

查看全部评分

回复 使用道具 举报
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. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
唐秀启 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马