Es ist eine ziemlich seltsame Einschränkung, aber man kann es trivialerweise wie folgt tun:
int m = Math.max(0, string.length() - 3);
return string.subSequence(0, m).toString();
Aber das ist vielleicht nicht wirklich im Sinne der Frage, da String
subSequence
von calling substring
implementiert.
Hier sind ein paar andere Möglichkeiten, wie Sie es tun:
StringBuilder sb = new StringBuilder(string);
sb.setLength(m);
return sb.toString();
oder
char[] cs = string.toCharArray();
return new String(cs, 0, m);
oder
return string.replaceFirst("[\\s\\S]{0,3}$", "");
oder
return String.format("%." + m + "s", string);
* sehr gut * Warum tun Sie 'substring' vermeiden wollen? –
@Joel Verwenden von 'Teilzeichenfolge ', wenn OP" ohne Teilzeichenfolge "sagte? – Andreas