本帖最后由 唐志兵 于 2012-8-28 22:27 编辑
我看看。。。- public class TrimDemo {
-
-
- public static void main(String[] args) {
- show(myTrim.trim( null )+'|'); //java中null可以当做字符串进行传递,以前没发现,现在才发现的。
-
- show(myTrim.trim( "" )+'|'); // "" + | 肯定 输出 |了。
-
- show(myTrim.trim( " " )+'|'); //一大串的空格,被 trim函数处理掉了。就剩下后面的一个竖线。
-
- show(myTrim.trim( " abcd " )+'|'); //同理, abcd 前后的空格被 trim函数处理掉,输出 abcd|
-
- show(myTrim.trim( " ab c " )+'|'); // " ab c " 前后的空格被处理掉, 输出 ab c| ,这里中间的空格是不会被处理的
-
- show(myTrim.trim( "abcdefghijk" )+'|'); //输出 abcdefghijk|
-
-
- show( "" .trim()+'|'); // 输出 |线
-
- show( " " .trim()+'|');
-
- show( " abcd " .trim()+'|');
-
- show( " ab c " .trim()+'|');
-
- show( "abcdefghijk" .trim()+'|');
-
- }
-
-
- public static final void show(Object obj) {
-
- System.out.println(obj);
-
- }
-
- }
-
- class myTrim {
-
-
- //去除字符串前后端空格
-
- public static String trim(String str) {
-
-
- if(str==null || str.isEmpty())//||而不是|,避免NullPointerException
-
- return str;
-
-
- int pos_pre = 0;
- while(str.charAt(pos_pre) == ' ') {
-
- pos_pre++;//str.length()角标
-
- if(pos_pre == str.length())//避免2处角标越界异常
-
- return "";
-
- }
-
-
- int pos_end = str.length();
-
- while(str.charAt(pos_end-1) == ' ') {
-
- pos_end--;//-1角标
-
- }
-
-
- return str.substring(pos_pre, pos_end);
- }
-
- }
-
复制代码 剩下的都是那个道理了。。
|