添加“www。”到URL字符串

时间:2012-06-30 09:32:30

标签: java android

我需要检查一个URL字符串,如果该URL不包含“www。”,请将其插入正确的位置。

例如,左侧的字符串应按指示进行转换:

www.myweb.com        => www.myweb.com
myweb.com            => www.myweb.com
http://myweb.com     => http://www.myweb.com or www.myweb.com
http://www.myweb.com => http://www.myweb.com or www.myweb.com

2 个答案:

答案 0 :(得分:2)

我对正则表达式不太满意,但我相信 ^(http://)?+((.{0,2}[^w])|(.{3}[^.]))可以达到你想要的效果:

String s1 = "www.myweb.com";
String s2 = "myweb.com";
String s3 = "http://myweb.com";
String s4 = "http://www.myweb.com";

String pattern = "^(http://)?+((.{0,2}[^w])|(.{3}[^.]))";
String www = "$1www.$2";

System.out.println(s1 + " -> " + s1.replaceFirst(pattern, www));
System.out.println(s2 + " -> " + s2.replaceFirst(pattern, www));
System.out.println(s3 + " -> " + s3.replaceFirst(pattern, www));
System.out.println(s4 + " -> " + s4.replaceFirst(pattern, www));

生成此输出:

www.myweb.com -> www.myweb.com
myweb.com -> www.myweb.com
http://myweb.com -> http://www.myweb.com
http://www.myweb.com -> http://www.myweb.com

由于我不认为自己对正则表达式很强,所以我不会说这是万无一失的,但它适用于你的示例字符串以及我测试过的一些更难的字符串。

答案 1 :(得分:0)

尝试:

 if(!str.contains("www")){
  if(str.contains("://"))
    str=str.replace("://","://www.");
  else
    str="www."+str;
}