增加包含值的String的简单方法,例如:USER1000

Mer*_*lin 0 java

我有 :

String username = "USER1"
String username = "USER10000"
Run Code Online (Sandbox Code Playgroud)

我想像USER2OR 一样递增值USER100001

有没有一种简单的方法可以做到这一点,或者我应该循环String并检查每个字符是否是一个数字并构造我的新字符串.

就像是

for(int i=username.length()-1; i>0; i--) {
   if( !Character.isDigit(username.charAt(i) ) ){

        //creating new string here
   }

}
Run Code Online (Sandbox Code Playgroud)

谢谢

inj*_*eer 7

就像是:

String un = "USER10000";
int digit = Integer.parseInt( un.replaceAll( "\\D", "" ) );
String newUn = "USER" + ( digit + 1 );
Run Code Online (Sandbox Code Playgroud)

long如果更合适,你可以使用.

更新:

"\\D"也可以改写为"[^\\d]",因为它们匹配相同的字符