【发布时间】:2022-01-17 19:19:24
【问题描述】:
有没有比我的解决方案更好的方法来从字符串中删除所有非法字符?也许是 lambda 表达式或正则表达式?在这种情况下,我只想保留 0 - 9、A - Z、a - z。
String iban = "DE07 1234 1234 1234 1234 12";
StringBuilder sb = new StringBuilder();
for (int i = 0; i < iban.length(); i++) {
int val = iban.charAt(i);
if ( (val >= '0' && val <= '9') // 0 - 9
|| (val >= 'A' && val <= 'Z') // A - Z
|| (val >= 'a' && val <= 'z')) { // a - z
sb.append(val);
}
}
iban = sb.toString();
【问题讨论】:
-
定义“更好”:性能更高?更简洁?更具可读性?更兼容?
-
也许我不需要遍历每个字符
标签: java