上面的图片是一个字符串,“-”代表空格,我想把图中的字符串切了,每个红框代表一个字符串,共切成5个。要怎么实现?
可否有正则表达式的话最好。

解决方案 »

  1.   

    其实   根据空格拆分  就能实现.split(" ")
      

  2.   

    这个条件给的太模糊了!
    怎么样才算一个字符串?弄清楚这个条件先。
    你的示例中给出的  相隔两个空格可以算同一个字符串(例如WHITE--FRAGRANT)
    也可以算不同的字符串(例如10.78870--10.75000)
    这个就很明显不能简单的通过正则来匹配了!
      

  3.   


    java String srt.spint(" ");
      

  4.   


    import java.util.*;
    public class SplitString1{
        public static void main(String[] args){
            String s = "GOLDEN WHEEL        100% THAT WHITE  FRAGRANT RICE  430 BAGS"
                       +"        10.78870  16.75000";
            List<String> result = splitString1(s);
            for(String str:result){
                System.out.println(str);
            }
        }
        //根据数字出现的位置判断
        //
        public static List<String> splitString1(String s){
            List<String> list = new ArrayList<String>();
            int begin = 0;
            for(int i=0;i<s.length();i++){
                int ic = (int)s.charAt(i);;
                //数字,且不是第一个,并前面一个是空格,这就是要截取的子串的末尾。
                //
                if((ic>=48 && ic<=57) && (i!=0) && (s.charAt(i-1)==' ')){
                    list.add(s.substring( begin , i-1).trim());
                    begin = i;
                }
            }
            list.add(s.substring(begin , s.length()-1 ).trim());//最后那一个子串
            return list;
        }
    }
    /* result
    GOLDEN WHEEL
    100% THAT WHITE  FRAGRANT RICE
    430 BAGS
    10.78870
    16.7500
    */
      

  5.   

    这句:
            list.add(s.substring(begin , s.length()-1 ).trim());//最后那一个子串
    换一下:
            list.add(s.substring(begin , s.length()).trim());//最后那一个子串
      

  6.   

    21句,把"i-1" 改成"i".这个不影响结果,但i-1不正确。
      

  7.   

    先将多个空格用一个空格代替,然后在用字符串分割法,注意导入import java.util.regex.*;
    public static void main(String args[]){
    String arr = "DEL   SEF   DEQ QQQ GGG    FFF";
    String   regEx="['   ']+";   //一个或多个空格   
        
            Pattern   p   =   Pattern.compile(regEx);   
            Matcher   m   =   p.matcher(arr);   
            String arr2 = m.replaceAll(" ");
            String array[] = arr2.split(" ");
            System.out.println(arr2);//替換為一個空格 

    System.out.println(array.length);
    }
      

  8.   

    你要的东西都在array[]里面了啊
      

  9.   

    http://blog.csdn.net/ada168855/article/details/8653870
    希望能够帮到你