java我可以更改字符串吗?
我有一个ArrayList
填充了以下格式的字符串:
Name - (###)###-####
or
Name - ##########
我想将其保留在表单中,不带名称或连字符:
##########
我做了以下工作:
for (String number : contactArrayList) {
number = number.replace("(", "");
number = number.replace(")", "");
number = number.replace(" ", "");
number = number.replace ("+", "");
number = number.replaceAll("\\D+", ""); //Remove non numeric values
sendMessage(number, "SMS")
}
sendSMS
方法:
private void sendSMS(String number, String message) {
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(number, null, message, null, null);
}
但这创建了我的字符串实例number
,5次(我知道,因为发送到该数字的任何消息都会发送5次)。有没有一种方法可以合并所有这些replace语句
谢谢
拉希尔
# 1 楼答案
这很简单。它将替换所有非数值:
# 2 楼答案
使用正则表达式
由于您只需要数字,请从字符串中删除所有非数字
# 3 楼答案
用你最后的替换语句。其余的可以移除