最开始想尝试将String类型转换成char[]类型
然后循环前缀后缀判断为空,为空格字符则替换成空
后来才知道JVM规定char不能置空,所以更换方法
采用获取前后缀下标,再用substring方法重新返回一个字符串即可解决
public class StringDemo1 {
@Test
public void show() {
String s1 = " hello world sss ";
String s2 = myTrim(s1);
System.out.println(s2); //=> hello world sss
}
public String myTrim(String str) {
char[] chars = str.toCharArray();
int leftIndex = 0;
int rightIndex = 0;
// 先获取最左边不是空格的下标
for (int i = 0; i < chars.length; i++) {
if (chars[i] != ' ') {
leftIndex = i;
break;
}
}
// 在获取最右边不是空格的下标
for (int i = chars.length - 1; i >= 0; i--) {
if (chars[i] != ' ') {
rightIndex = i;
break;
}
}
return str.substring(leftIndex, rightIndex + 1);
}
}