/** * 仿寫String的 trim()方法 * @author zhonglinsen * 2016-3-1 下午 */ public class StringExer { public static void main(String[] args) { String str1="abcdfef dfsd"; String str2=" abcd fd"; String str3="adbc fd "; String str4=" fdf fdfd "; String str5=" "; //System.out.println(testTrim(str1)); //System.out.println(testTrim(str2)); //System.out.println(testTrim(str3)); //System.out.println(testTrim(str4)); System.out.println(testTrim(str5)); } /** * 仿照String的trim() *URL:http://www.bianceng.cn/Programming/Java/201608/50364.htm * @param strArg:需要進行去掉前後空格符的字符串 * @return:返回字符串的副本,該副本進行去掉了首尾空格符 */ public static String testTrim(String strArg){ char[] cVal=strArg.toCharArray(); int p1=0; int len=cVal.length; //從首到尾進行遍歷,如果發現了第一個不是 ' ' 就break:表示終止了遍歷,找到了首部到尾部第一個不為 ' ' 的位置 while(p1 < len){ if (cVal[p1] == ' ') { p1 += 1; }else{ break; } } //這說明 strArg 壓根就是由空格字符組成的字符串 if (p1 == len) { return ""; } //從尾部到首部進行遍歷,如果發現了第一個不是 ' ' 就break:表示終止了遍歷,找到了尾部到首部第一個不為 ' ' 的位置 int p2=len-1; while(p2 >= 0){ if (cVal[p2] == ' ') { p2 -= 1; }else{ break; } } String subStr=strArg.substring(p1,p2+1); return subStr; } }
結果很明顯是實現了該功能,或許有可以進行優化的地方,歡迎留言與我討論交流!