RegEX模式 - 两步过程

sat*_*son 0 java regex

我有一个输入值"+000011111.11",我基本上想要删除+和前导零.目前解决这个问题的方法是:

inputString="+0000111111.11"
StringBuffer bufOutputString = new StringBuffer(inputString);
StringBuffer bufNewOutputString = new StringBuffer();

for (int i = 0; i < inputString.length(); i++) {
    if (Character.isDigit(bufOutputString.charAt(i)) || bufOutputString.charAt(i)=='.') {
        bufNewOutputString.append(bufOutputString.charAt(i));
    }
}
inputString=bufNewOutputString.toString();
String s = inputString.replaceFirst ("^0*", "");
System.out.println("The Super converted value is"+s);
Run Code Online (Sandbox Code Playgroud)

所以基本上我使用for循环消除"+",然后使用RegEx来确保前导零都消失了.

有没有更好的方法来处理这个字符串的解析?感谢您的输入.

Joh*_*hnB 7

当然

String s = inputString.replaceFirst ("^\\+?0*", "");
Run Code Online (Sandbox Code Playgroud)

用空字符串替换零或一个加号,以及零或多个零.因此,您可以通过此行替换所有代码.或者我错过了什么?