在InetAddress.getByName(host)之前斜杠

时间:2011-09-09 12:42:56

标签: java networking

如何删除InetAddress.getbyName输出中的斜杠?


更新

谢谢大家,我刚刚做到了。

其中一个解决方案是:

String ip_old = myInetaddress.toString(); 
String ip_new = ip_old.substring(1); 

2 个答案:

答案 0 :(得分:29)

如果您只想要IP,请使用主机地址:

String address = InetAddress.getByName("stackoverflow.com").getHostAddress();

如果您只想要主机名,请使用

String hostname = InetAddress.getByName("stackoverflow.com").getHostName();

修改

您看到的斜线可能是当您尝试将其打印出来时在返回的toString()上执行隐式InetAddress,这会打印由斜杠分隔的主机名和地址(例如, stackoverflow.com/64.34.119.12)。你可以用

String address = InetAddress.getByName("stackoverflow.com").toString().split("/")[1];
String hostname = InetAddress.getByName("stackoverflow.com").toString().split("/")[0];

但是没有理由在这里找String中介。 InetAddress本质上将两个字段分开。

答案 1 :(得分:0)

我假设你之后正在做一个toString?你为什么不使用普通的字符串操作,意思是子字符串?

相关问题