0

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
4

2 に答える 2

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

私は正規表現に強いとは思わないので、これが絶対確実だとは言いませんが、これはあなたのサンプル文字列と私がテストしたいくつかのよりタフな文字列で機能します。

于 2012-06-30T10:27:47.470 に答える
0

次のように試してください:

 if(!str.contains("www")){
  if(str.contains("://"))
    str=str.replace("://","://www.");
  else
    str="www."+str;
}
于 2012-06-30T09:36:11.660 に答える