求解,救命111111

img

字符串的截取,输出指定位置内容。

img

import java.util.Scanner;
public class IpTest {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        while (true){
            System.out.print("输入:");
            String addr=in.next();
            System.out.print("输出:");
            int i = addr.indexOf(".");
            if (i>0){
                System.out.println(addr.split("\\.")[1]);
            }else {
                System.out.println(addr);
            }
        }
    }
}

不好做啊,主要是前缀后缀都没有规范约束,www可能写成ww,可能写成wv,com可能写成con,可能写成c0m,万一网站主体和www,com啥的比较接近,是很难过滤掉的。并且还可以缺项

可以这样:
先把后缀统一都去了,反正.com.cn.net.org什么的都是规范的不能乱写,先replace掉
然后根据.进行字符串拆分,只保留最后一栏

例如:


string s="www.baidu.com";
s.Substring(4,5);
打印结果:baidu

可以用text.split('\.')得到分开的集合,
再去掉www 或者 cn等字符

这题没那么简单,
你要考虑com.com.com.com:8080/这种也是合法输入
标准写法的话要从后往前找,
先找到 域名结束符号/
然后从结束符号往前找端口号。
端口号往前找后缀(这个是最麻烦的,所有可能的后缀做一个列表)
后缀前的那个字段才是域名主体,
在前面的主机名,协议等可以忽略。