我在Java和Android方面都缺乏经验。我正在尝试检索存储在Android手机模拟器的其中一个联系人中的电话号码。虽然我成功获取它,但数字已经以“(987)654-3210”的格式返回一个字符串。
我想将其转换为整数或长整数。我怎样才能做到这一点?如果我使用Integer.parseInt(String number)
,则返回NumberFormatException
。尝试使用Long.valueOf(String number)
时失败。那我该怎么办?我希望它像“9876543210”,没有任何大括号或连字符。
答案 0 :(得分:10)
使用long
存储号码会更好
String str="(987) 654-3210";
String stt=str.replaceAll("\\D+","");
long num= Long.parseLong(stt);
System.out.println(num);
答案 1 :(得分:7)
这应该很简单。您可以在java中使用正则表达式来执行此操作,如下所示
phoneStr = str.replaceAll("\\D+","");
这将删除字符串中的非数字,并仅为您提供数字。然后你可以使用
int number = Integer.parseInt(phoneStr);