我有一个字符串,类似于 9.555.555,00 并且想要删除所有符号并只保留数字,这是字符串格式。
我使用 indexof 来查找特殊字符,然后使用循环以在循环到达特定字符时跳过特定字符,因此它不会将该字符附加到最终字符串。
但是,在执行此操作时,代码似乎选择了第一次出现的句点符号,但 indexOf() 第二次返回 -1,即使还有另一个 . 在字符串中。
int dotIndex, commaIndex;
dotIndex = tempBalance.indexOf('.');
commaIndex = tempBalance.indexOf(',');
for(int j = 0; j < tempBalance.length(); ++j){
//System.out.println("Iteration: " + j + " ~ i @ : " + i);
if(j == dotIndex){
System.out.println("Current dot Index: " + dotIndex + " J: " + j + " : " + tempBalance);
dotIndex = tempBalance.indexOf(j+1, '.');
System.out.println("New dotIndex: " + dotIndex);
continue;
} else if(j == commaIndex){
break;
} else {
tempString.append(tempBalance.charAt(j));
//System.out.print("Found normal Number: " + tempBalance.substring(j, (j+1)));
}
system.out.println 的输出:
当前点索引:1 J:1:9.955.458,23
新点索引:-1