字符串拆分MAC地址

时间:2017-06-03 12:44:00

标签: java string split

我正在编写一个Java控制台程序,它会查找给定mac地址的供应商。

通过运行时使用'arp -a'我收到一个字符串,如:

"172.17.7.144            44-94-fc-68-b7-03       dynamic"

我很难将字符串拆分为只检索mac地址,IP地址和mac之间的间距会根据长度而变化,因此通过空格拆分似乎不起作用。

从这样的字符串中检索数据的最佳方法是什么?

1 个答案:

答案 0 :(得分:3)

就像@Andrea在评论中提到的那样,您可以轻松使用:

String str = "172.17.7.144            44-94-fc-68-b7-03       dynamic";
String[] spl = str.split("\\s+");

<强>输出

172.17.7.144 
44-94-fc-68-b7-03
dynamic

另一种解决方案,如果你只想获得Mac地址,你可以使用模式(看一下模式What is a regular expression for a MAC Address?),如下所示:

Pattern pat = Pattern.compile("([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})");
Matcher mat = pat.matcher(str);
while (mat.find()) {
    System.out.println(mat.group());
}