字符串的截取,输出指定位置内容。
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/这种也是合法输入
标准写法的话要从后往前找,
先找到 域名结束符号/
然后从结束符号往前找端口号。
端口号往前找后缀(这个是最麻烦的,所有可能的后缀做一个列表)
后缀前的那个字段才是域名主体,
在前面的主机名,协议等可以忽略。