是否有沒有在Java中使用Substring();
刪除字符串的最後三個字符?刪除使用子串的字符串w/o的最後三個字符
String stringOfFileName = this.first.imageHelper() + this.rest.images();
return stringOfFileName - *last three characters*;
是否有沒有在Java中使用Substring();
刪除字符串的最後三個字符?刪除使用子串的字符串w/o的最後三個字符
String stringOfFileName = this.first.imageHelper() + this.rest.images();
return stringOfFileName - *last three characters*;
這是一個非常奇怪的限制,但你可以做到這一點平凡是這樣的:
int m = Math.max(0, string.length() - 3);
return string.subSequence(0, m).toString();
但是,這也許不是一個真正的問題的精神,因爲String
實現subSequence
通過calling substring
。
這裏有一些其他的方法可以做到這一點:
StringBuilder sb = new StringBuilder(string);
sb.setLength(m);
return sb.toString();
或
char[] cs = string.toCharArray();
return new String(cs, 0, m);
或
return string.replaceFirst("[\\s\\S]{0,3}$", "");
或
return String.format("%." + m + "s", string);
StringUtils阿帕奇也可能是一種選擇,儘管上面給出的答案是非常好的
String a = "ABCDE123";
System.out.println(StringUtils.left(a, a.length()-3));
*爲什麼*你想避免'substring'? –
@Joel當OP說「不使用子串」時使用'substring'? – Andreas