我的输入值为“+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);
所以基本上我使用for循环来消除“+”,然后使用RegEx来确保前导零都消失了。
有没有更好的方法来处理这个String的解析?感谢您的投入。
答案 0 :(得分:7)
不确定
String s = inputString.replaceFirst ("^\\+?0*", "");
用空字符串替换零或一个加号,以及零或多个零。因此,您可以通过此行替换所有代码。或者我错过了什么?
答案 1 :(得分:3)
您可以使用:
String s = Double.valueOf("+000011111.11").toString();