public class TestTrim {
public static void main(String[] args) {
String content = "012304560";
char matchContent = '0';
System.out.printf("%s after trim %s : %s\n",content,matchContent,trim(content, matchContent));
System.out.printf("%s after right trim %s : %s\n",content,matchContent,rightTrim(content, matchContent));
System.out.printf("%s after left trim %s : %s\n",content,matchContent,leftTrim(content, matchContent));
}
public static String trim(String content, char matchContent) {
char[] value = content.toCharArray();
int len = value.length;
int st = 0;
char[] val = value;
while ((st < len) && (val[st] != matchContent)) {
st++;
}
while ((st < len) && (val[len - 1] != matchContent)) {
len--;
}
return ((st > 0) || (len < value.length)) ? content.substring(st, len) : content;
}
public static String rightTrim(String content, char matchContent) {
char[] value = content.toCharArray();
int len = value.length;
int st = 0;
char[] val = value;
while ((st < len) && (val[len - 1] != matchContent)) {
len--;
}
return ((st > 0) || (len < value.length)) ? content.substring(st, len) : content;
}
public static String leftTrim(String content, char matchContent) {
char[] value = content.toCharArray();
int len = value.length;
int st = 0;
char[] val = value;
while ((st < len) && (val[st] != matchContent)) {
st++;
}
return ((st > 0) || (len < value.length)) ? content.substring(st, len) : content;
}
}
前后删除指定字符
转发自http://t.csdnimg.cn/6afRR
还有更简单得包:
StringUtils.stripStart(“000999” “0”)
哈哈 输出 999
补全10位前面补0
String.format("%010d", Integer.parseInt(personNo));