现在有字符串
String s="ni|hao|ya";有么与什么函数可以反向分割字符串s啊结果为ya,hao,ni啊?

解决方案 »

  1.   

    我记得string有个reverse方法,试下是否可以反序
      

  2.   

       
       public static void main(String[] args) throws Exception {
            String s="ni|hao|ya";
            String[] r = s.split("\\|");
            for(int i=r.length;i>0;i--){
                System.out.println(r[i-1]);
            }    }
      

  3.   


    package com;public class Test {
        public static void main(String[] args){
         String s = "ni/hao/ya";
         System.out.println(s.substring(7) + "," + s.substring(3, 6)+ "," + s.substring(0, 2));
        }
    }
      

  4.   

    没有这个方法,你只有先分割再重新赋值
    String m="ni|hao|ya";
    String []n=m.split("\\|");
    String []u=new String[n.length];
    for(int i=n.length-1;i>=0;i--){
    u[n.length-i-1]=n[i];
    }
    这样u数组里面的值就是lz所想要的样子。。
      

  5.   


    解决问题 比较重要比如你老板非要你完成这样的功能,你搞定就行了,一般不会问你效率, 10ms优化到8ms也没啥意思
      

  6.   


    这个只能解决这个问题"ni/hao/ya"不如直接输出 System.out.println("ya\thao\tni");
      

  7.   

    好像没有这样的函数,除非你自己写一个!不过有种方法,可以满足楼主的需求,但是效率不怎么高!public class Main {
    public static void main(String[] args) {
    String s="ni|hao|ya";
    StringBuffer sb = new StringBuffer(s);
    //先对整个字符串进行翻转,并分割
    String[] result = sb.reverse().toString().split("\\|");
    //对分割后的每一个字符串进行翻转
    for(int i=0; i<result.length; i++) {
    sb = new StringBuffer(result[i]);
    System.out.println(sb.reverse());
    }
    }
    }
      

  8.   

    可以自己写 代码如下:
    String a = "ni|hao|ya";
    String[] aStr= a.split("[|]");
    List<String> list = new ArrayList<String>();
    for(int i=aStr.length-1;i>=0;i--)
    {
    list.add(aStr[i]);
    }
    for(String o:list){
            System.out.println(o);
    }
      

  9.   

    用Stringbuffer 的reverse方法傻了啊  连同字母全部倒序  这种不是很容易写吗
    用StringTokenize 也可以实现
      

  10.   

    两种思路
    (1)数组。public class Test {
        public static void main(String[] args){
           String s="ni|hao|ya";
          String[] result =  s.split("\\|");
          for(int i=result.length; i>0; i--) 
          {
               System.out.println(result[i-1]);
          }    }
    }
      

  11.   

    第二种思路用栈
    后进先出,用linkedList这里不讲解了
      

  12.   

    非常感谢大家,这儿问题昨晚已经搞定了,
    List<String> list = Arrays.asList(sourArr);
    Collections.reverse(list);//这样就可以翻转了哈哈
      

  13.   

    String s="ni|hao|ya";
      String[] r = s.split("\\|");
    List<String> list = Arrays.asList(r)
    Collectiuons.reverse(list);
    r = list.toArray(new String[0]);