[英]How To Create Phone Number Format XXX-XXX-XXXX In Android
Can anybody help me to solve this problem ?有人可以帮我解决这个问题吗?
I want "-"
between phone numbers.我想要电话号码之间的"-"
。 I tried .我试过 。 It shows XXX-XXX-XXX-X
Formats only .它仅显示XXX-XXX-XXX-X
格式。 But i want XXX-XXX-XXXX
Format .但我想要XXX-XXX-XXXX
格式。
Here Below I have mentioned my code.下面我提到了我的代码。
Declare This under Oncreate在 Oncreate 下声明
TextView TxtDocPhone=(TextView)findViewById(R.id.TxtDocPhone);
String numbersOnly = keepNumbersOnly(Phone);
String ProviderPhone = formatNumbersAsCode(numbersOnly);
Then call it然后调用它
private String keepNumbersOnly(CharSequence s) {
return s.toString().replaceAll("[^0-9]", "");
}
private String formatNumbersAsCode(CharSequence s) {
int groupDigits = 0;
String tmp = "";
for (int i = 0; i < s.length(); ++i) {
tmp += s.charAt(i);
++groupDigits;
if (groupDigits == 3) {
tmp += "-";
// tmp += "";
groupDigits = 0;
}
}
return tmp;
}
Please guide me the correct way to achieve my objective.请指导我正确的方法来实现我的目标。
Try this way,hope this will help you to solve your problem.试试这个方法,希望这能帮助你解决你的问题。
String formattedNumber = PhoneNumberUtils.formatNumber(unformattedNumber);
Take a look at PhoneNumberUtils for more options.查看PhoneNumberUtils以获取更多选项。
Finally i solve this issue .最后我解决了这个问题。 Just add below this in formatNumbersAsCode
function .只需在formatNumbersAsCode
函数下面添加。
return String.format("%s-%s-%s",s.subSequence(0,3),s.subSequence(3,6),s.subSequence(6,10));
You can try:你可以试试:
private String formatNumbersAsCode(CharSequence s) {
return String.format("%s-%s-%s",s.substring(0,3),s.substring(3,6),s.substring(6));
}
You best way to go is to use Regular Expressions .您最好的方法是使用正则表达式。
You know your phone number should have the format XXX-XXX-XXXX
, so you just write an appropriate RegEx for this, and you are fine!您知道您的电话号码应该采用XXX-XXX-XXXX
格式,因此您只需为此编写一个合适的 RegEx,就可以了!
用space (" ")
格式化,然后替换所有的"-"
字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.