将字母数字字符串转换为 salesforce apex 中的数字字符串

Convert an alphanumeric string into a numeric string in salesforce apex

我需要将 phone 数字转换为数字字符串。 例如 +1222333-456789 到 1222333456789.

使用 salesforce apex 的最佳方法是什么?

对于那些需要类似东西的人,我是这样做的:

if (num.isNumeric()) {
    return num;
}
else {
    String n = '';
    for (Integer i=0; i<num.length(); i++) {
        if (num.substring(i, i+1).isNumeric()) {
            n += num.substring(i, i+1);
        }
    }
    return n;
}

请随时向我提出如何改进代码的建议。

这可以用正则表达式来完成:

String phoneNumber = '(987) 654-3210';

// Remove non-digit characters
String phoneNumberDigits = phoneNumber.replaceAll('\D+','');
long phoneNumberInt = Long.parseLong(phoneNumberDigits);