package myTest.string;//去掉字符串两端的空格;
public class test1_subString { public static void main(String[] args) {
// TODO Auto-generated method stub
String str="    abcdefj      ";
trim(str);

}
public static void trim(String str){t
int startIndex=0;
int endIndex=str.length()-1;
while(startIndex<endIndex && str.charAt(startIndex)==' '){startIndex++;}//当从0界标起截取字符串的字符为空,则界标加一;直到截取的字符不为空循环就停止;
while(startIndex<endIndex &&str.charAt(endIndex)==' '){endIndex--;}//当从最后一个字符的index界标起截取字符串的字符为空,则界标减一;直到截取的字符不为空循环就停止;
String s=str.substring(startIndex, endIndex);
System.out.println(s);

}
}

解决方案 »

  1.   

    兄弟写的挺好的,还不如用repacle替换掉得了,还来得快
      

  2.   

    属于重复的发明轮子
    String 类的 trim 实现的就已经很好了 public String trim() {
            int len = value.length;
            int st = 0;
            char[] val = value;    /* avoid getfield opcode */        while ((st < len) && (val[st] <= ' ')) {
                st++;
            }
            while ((st < len) && (val[len - 1] <= ' ')) {
                len--;
            }
            return ((st > 0) || (len < value.length)) ? substring(st, len) : this;
        }
      

  3.   

    参考string 的源码/
      

  4.   

    .trim() 不就完了吗,哪来这么多事
      

  5.   

    可以用正则表达式的吧
    String str=str.replaceAll(" +(\\w+) +","$1");
      

  6.   

    String.trim() 就是去掉字符串的前后空格的啊,为什么要这样写呢?
      

  7.   

    楼主可能是想自己实现一下String的trim()功能。很强大!
      

  8.   

    应该差不多了String str = "     神马    情况";
    System.out.print(str.replace(" ", ""));
    结果:神马
      

  9.   

    纠错String s=str.substring(startIndex, endIndex+1);