测试电话号码的排序,中间用破折号

时间:2018-11-08 22:12:24

标签: java

我创建了一个测试来验证表中列数据的排序。除电话号码外,所有列的排序测试都可以正常工作。我正在使用交换对它们进行排序。问题是每个电话号码之间都带有“-”。就像657-726-8272。这使我的测试失败了。

如何从电话号码中删除破折号并将所有数字存储到不包含破折号的数组中?我不想用任何东西代替“-”,但要摆脱它们,以便将其命名为6577268272

我的数据就像

{657-726-8672, 647-726-8272, 667-776-8771, 257-736-8272}

我需要成为

{6577268672, 6477268272, 6677768771, 2577368272}

,以便排序后的列表为

{2577368272,6477268272, 6577268672, , 6677768771}

预先感谢

1 个答案:

答案 0 :(得分:1)

使用String的replaceAll method,并将-替换为""(空字符串)。

String phoneNumber = "657-726-8272".replaceAll("-", "");
// result: 6577268272

请注意,replaceAll采用正则表达式。您可以将所有非数字字符替换为空白字符串,该字符串还将处理格式为“ +1(303)555-1234”的电话号码,如下所示:

String phoneNumber = "+1 (303) 555-1234".replaceAll("\\D+", "");
// result: 13035551234