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