通过替换Android中的所有特殊字符来从电话簿过滤数字?

Sam*_*ens 2 android

我正在使用Android中默认电话簿中提取的联系人.当我从电话簿中取出联系人时,有时候我会收到" - ","(等等字符.

如果字符是已知的,那么我可以使用relpace()方法轻松删除它们,但我的客户抱怨有时他们在电话簿的数字提取中也看到了%符号.

请建议我,如何过滤从电话簿中获取的数字,这样我只能在我的文本字段中只有数字,而没有其他字符.

目前我正在使用string.replace("-","");从联系号码中删除" - ".

小智 10

您可以使用PhoneNumberUtils.stripSeparators(String)(API 1+中提供).


编辑

或者您可以使用正则表达式:

filterNum = filterNum.replaceAll("[^0-9]+", "");
Run Code Online (Sandbox Code Playgroud)

- 这将删除所有不在范围内的字符0...9.我认为这会更容易.这是文档.