stringの最後の2文字目を削除する簡潔な方法はありますか?文字列の最後の2文字目を削除するにはどうすればよいですか?
"abcde"は "abce"になります
文字列が十分に長いことを確認する必要はありません。
stringの最後の2文字目を削除する簡潔な方法はありますか?文字列の最後の2文字目を削除するにはどうすればよいですか?
"abcde"は "abce"になります
文字列が十分に長いことを確認する必要はありません。
return new StringBuilder(str)
.deleteCharAt(str.length() - 2)
.toString();
=最後の2番目の位置を取得します。
クール、私はそれが好き! – ycomp
最後の2文字を除くすべての文字を取り、最後の文字を連結して連結します。文字列が少なくとも2文字であると仮定すると、コードは簡単です。 Hint。
String test = "abcde";
StringBuilder sb = new StringBuilder(test);
sb.deleteCharAt(test.length()-2);
String newString = sb.toString();
警告:これは手前の長さではテストされませんが、これはあなたが求めたものです。もちろん
String input = "abcde";
int length = input.size();
String result = input.substring(0, length - 2) + input.substring(length, length);
String a = "abcde";
a = a.substring(0, a.length() - 2) + a.substring(a.length() - 1);
public String getAllButSecondLast(final String input)
{
return input.substring(0, input.length() - 2) + input.charAt(input.length() - 1);
}
これがnullチェックや長さのチェックを(少なくとも2つの文字でなければなりません)提供されていません。
は、私は、これはそれを得るだろうと同じくらい、高速でコンパクト、かつ理解しやすいと思われるstr.length - 2;
public static String removeCharAt(String s, int pos) {
StringBuffer buf = new StringBuffer(s.length() - 1);
buf.append(s.substring(0,pos)).append(s.substring(pos+1));
return buf.toString();
}
"abcde".replaceAll ("(.*).(.)", "$1$2")
これは、文字列2($ 2)として覚えておくの文字を終了し、正規表現、我々は後でとして$ 1を参照したいいくつかの文字を検索し、プラス忘れて一つの文字、および別のものを使用しています。
"良い"をどのように定義していますか?最高のパフォーマンス?コードの行はほとんどありませんか?簡単に理解できますか? – Pops
これは実際にスタックオーバーフローの仕組みではありません...ここでは具体性を追求しています。 – Pops