flutter 从电话号码中删除国家代码

i1icjdpr  于 2023-01-09  发布在  Flutter
关注(0)|答案(5)|浏览(184)

我正在从设备接收联系人列表,现在我想从号码中删除国家/地区代码,可能一个号码的国家/地区代码为+1或01
我该怎么做?我想从任何国家的所有号码中删除国家代码

wztqucjr

wztqucjr1#

我会这么做。网上有很多资源都有国家代码列表。我会下载它们,并将它们与联系人列表中的每个号码进行比较。最后运行我的任何删除操作。
编辑:在运行上面的算法之前,我会先清理数据。

  • 删除所有空格。
  • 根据可用的数据集,将前导0替换为+,反之亦然
pengsaosao

pengsaosao2#

你可以将它们存储在一个向量中,并且当你检索信息时,你可以跳过属于国家代码的第一个元素.通常电话号码除了国家代码之外还有9个数字.你可以固定输出数组索引.

gwbalxhn

gwbalxhn3#

从电话号码中删除国家/地区代码的唯一方法是在确定电话号码所属的国家/地区之后。

如果您确定+1或01或任何前两位数字是国家代码,

number.substring(2);

会给予你电话号码。

e1xvtsh3

e1xvtsh34#

如果这仍然是相关的.因为所有的数字是10个字符你能做number.substring(number.length - 10)这将采取这最后10个数字不管这国家代码与加号或no

hgtggwj0

hgtggwj05#

啊嘿,这个问题早些时候就问过了,但无论如何都会回答的。

以下代码是用Java编写的

两种方法可以解决这个问题!

第一次

String abc="+91 9000000009";
    abc=abc.replaceAll(" ","");
    int count=0;String Num="";
    for(int i=abc.length()-1;i>=0;i--)
    {
        if(count<10)//change number 10 according to the preferred number of digits of Phone Number Excluding country code
        {
          Num=abc.charAt(i)+Num;
          count++;
        }
        else
        {
          break;
        }
    }
    System.out.println("Number Without Country Code : "+Num);

第二次

String abc="+91 9000000009";
    abc=abc.replaceAll(" ","");
    String Num1=abc.substring(abc.length()-10);//change number 10 according to the preferred number of digits of Phone Number Excluding country code
    System.out.println("Number Without Country Code : "+Num1);

两种方式都很好

但是在第二种方式中如果小于'10'则会导致错误

相关问题