我有一个数字字符串我想用另一个字符
更改字符串前三个字符假设我有一个像0333XXXXXXX
和+38333XXXXXXX
这样的字符串。如果String的第一个字符是+38
,我想用" 0"替换它。保持字符串保持不变这是我的代码
private String modifyNumber(String num) {
if (num.startsWith("+38")) {
num.replaceFirst("+38", "0");}
return num;}
" + 38"我不接受num.replaceFirst
。
答案 0 :(得分:3)
您可以使用字符串替换方法。见下文
String number = +9231235410;
String newNumber = number.replace("+92","0");
修改强>
这个是基于您的代码
private String modifyNumber(String num) {
if (num.startsWith("+92")) {
num = num.replaceFirst("\\+(92)", "0");}
return num;}
注意:强>
\
是唯一的
java character。num = num.replaceFirst("\\+(\\d{2})", "0")
答案 1 :(得分:1)
你可以使用substr()和concat with' 0'等,
String str= "+919025858316";
String newstr ="";
if(str.substring(0,3).equals("+91"))
{
newstr = "0" + str.substring(3);
}
else
{
newstr = str;
}
System.out.println(newstr);
输出为09025858316
答案 2 :(得分:1)
像这样检查:
String num = "+921231231231"; // OR String num = "01231231231";
if(num.startsWith("+92")) {
String a = "0" + num.substring(3);
System.out.println("" + a);
}else{
System.out.println("" + num);
}
<强>更新强>
private String modifyNumber(String num) {
if(num.startsWith("+92")) {
num = "0" + num.substring(3);
}
return num;
}
答案 3 :(得分:0)
你可以得到字符串的最后10位数,然后你可以添加零。 可能会帮助你
localhost:3000
从这里您可以获得正确的电话号码而无需任何代码。
可能对你有帮助。谢谢
答案 4 :(得分:0)
每个国家的手机号码都有一些标准化。手机号码是10位数。仅在此处,最后10位数字是移动号码,其余数字是国家代码,因此取最后10位数字并将0添加到第一位数字。然后,您的问题将得到解决。
即
String number = "+929918001800";
String newNumber = "0"+number.subString(number.length()-10,number.length());
我希望这个会帮助你:)。