/** * 仿写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; } }
功效很明明是实现了该成果,或者有可以举办优化的处所,接待留言与我接头交换!