如何删除InetAddress.getbyName
输出中的斜杠?
更新
谢谢大家,我刚刚做到了。
其中一个解决方案是:
String ip_old = myInetaddress.toString();
String ip_new = ip_old.substring(1);
答案 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?你为什么不使用普通的字符串操作,意思是子字符串?