繁体   English   中英

Java - 如何删除字符串数组中的特殊字符?

[英]Java - How to remove special char in string array?

我有一个字符串数组(电话号码),我需要删除+ ,它位于其中一个元素(数字)之前,因为它在我尝试将其转换为int时抛出NumberFormatException

数组中的元素是0888888888 0888123456 +359886001122 ,我已经使用.split(" ")来分隔它们。 我也试过.split(" +")以便从最后一个中删除+ ,但这不起作用。

您必须使用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("+", "")

你可以用它替换它

var lv_numbers = "0888888888 0888123456 +359886001122".replace('+','');

Split使用正则表达式,因此您可以在拆分匹配器中定义包含和可选的“+”。

String [] result = "0888888888 0888123456 +359886001122".split("\\s[\\+]{0,1}");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM