0

[a-z]一連の文字とそれに続く数字を含む文字列リテラルがあります。最後の数字を除いて古い文字列と同じ内容の新しい文字列リテラルを作成したいと考えています。Javaでこれを最も最適な方法で行うにはどうすればよいですか?

例えば:

String str = "sometext2";
String newString = "sometext5"; //The digit part is dynamic and I have that value already computed
return  newString 
4

5 に答える 5

1

これを試して

StringBuilder sb = new StringBuilder();
sb.append(str.subString(0, str.length()-1)).append(digit).toString();
于 2013-09-23T10:48:02.127 に答える
0

1 桁のみの場合は、部分文字列を使用します

return str.substring(str.length() - 1) + nextDigit;

複数の数字がある場合は、正規表現を使用します

return str.replaceAll("[0-9]+", "" + nextNumber)

これがループしている場合は、replaceAll を使用する代わりに正規表現を再利用してください。

于 2013-09-23T10:50:56.960 に答える