我有一个字符串数组(电话号码),我需要删除+
,它位于其中一个元素(数字)前面,因为它会抛出NumberFormatException
时我尝试将它转换为int。
数组中的元素是0888888888
0888123456
+359886001122
,我已经使用.split(" ")
来分隔它们。我还尝试.split(" +")
以便从最后一个中删除+
,但这并不起作用。
答案 0 :(得分:9)
您必须使用replaceAll
代替split
,例如:
"0888888888 0888123456 +359886001122".replaceAll("\\+", "");
这将告诉你:
0888888888 0888123456 359886001122
//-------------------^------------
然后,如果您要拆分每个号码,可以使用split(" ")
,如下所示:
String numbers[] = "0888888888 0888123456 +359886001122".replaceAll("\\+", "").split(" ");
System.out.println(Arrays.toString(numbers));
这会给你:
[0888888888, 0888123456, 359886001122]
修改强>
或者像@shmosel在评论中说的那样你可以使用replace("+", "")
答案 1 :(得分:0)
您可以将其替换为
var lv_numbers = "0888888888 0888123456 +359886001122".replace('+','');
答案 2 :(得分:0)
Split使用正则表达式,因此您可以定义包含和可选的' +'在分裂匹配器中。
String [] result = "0888888888 0888123456 +359886001122".split("\\s[\\+]{0,1}");