2012-08-07 42 views
1

如果我们有一个像358541321没有国家代码的电话号码,有时当电话响起时,它说(+56 - 358541321)+56358541321如何确定两个电话号码是否相同?

如何检测环状编号是否是第一个数字?

该号码未保存在手机内存中以进行电话查询。

回答

1

这个问题的常见解决方案就是比较最后一个X(例如7或8,取决于你的国家)的数字。在极少数情况下,这可能会导致误报,但通常这是一个很好的近似值,它可以避免国家或地区代码不同或缺失的问题。

+1

这不是很好的解决方案 – Ata 2012-08-07 11:50:28

+2

@Ata:这就是通常通过在通讯录中查找电话号码的电话应用程序完成。如果您有更好的主意,请随时将其分享为解决方案。 – Heinzi 2012-08-07 11:54:25

0

Java regular expression和字符串函数replaceAll可以很容易地做到这一点。

这样,

String one = "+51 - 3245678"; 
    String two = "+513245678"; 

    one = one.replaceAll("[^0-9]",""); 
    two = two.replaceAll("[^0-9]",""); 
    Toast.makeText(this, one+" -- "+two, Toast.LENGTH_LONG).show(); 
    if(one.equalsIgnoreCase(two)) 
    { 
     Toast.makeText(this, "Both Are Equal", Toast.LENGTH_LONG).show(); 
    } 
    else 
    { 
     Toast.makeText(this, "Different", Toast.LENGTH_LONG).show(); 
    } 
相关问题