简体   繁体   English

在Java中,如何删除.com或.net之后的所有内容

[英]In Java, how to delete everything after .com or .net

I am trying to get just the domain name ( http://www.example.com ) out of log files that looks like this: 我试图从看起来像这样的日志文件中获取域名( http://www.example.com ):

http://maps.google.com/maps?hl=en&tab=wl
http://l.macys.com/simi-valley-ca?cm_mmc=macys_     
https://www.google.co.in/       
https://www.google.ca/  

I want just 我只想

http://maps.google.com/   
http://l.macys.com/    
https://www.google.co.in/   
https://www.google.ca/  

Any ideas? 有任何想法吗?

How about 怎么样

URL url = new URL("http://maps.google.com/maps?hl=en&tab=wl");
System.out.println(url.getProtocol()+"://"+url.getHost());

Output 输出量

http://maps.google.com

If you don't want to handle it yourself, then a full proof way is following: 如果您不想自己处理它,那么可以采用一种完整的证明方式:

URL url = new URL("http://l.macys.com/simi-valley-ca?cm_mmc=macys_");
    System.out.println(url.getProtocol() + "://" + url.getHost() + ((url.getPort()==-1)?"" : ":" + url.getPort()) + "/" );

You can skip url.getPort if you are sure that there will never be a port type url!! 如果您确定永远不会有端口类型的url,则可以跳过url.getPort!

Cheers 干杯

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

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