0

getWebsite() を介して Bean からクロールされた Web サイトを取得します。私は時々ウェブサイトを取得します http://www.stackoverflow.comと時々http://stackoverflow.comを取得します。私の質問は、「info@st​​ackoverflow.com」に置き換えて、代わりに setEmail() を bean にしたいということです。substring と replaceAll メソッドの助けを借りて可能ですか?

私はベローで自分自身を試しました

    String s=str.substring(0,11);
    System.out.println("String s (0,11) :"+s);
    String string=str.substring(0,7);
    System.out.println("string  (0,7):"+string);
    String name=str.substring(11);
    String name1=str.substring(7);
    System.out.println("name  :"+name);
    boolean b=((!(s.length()==11)) || (string.length()==7))? true : ((!(string.length()==7)) || (s.length()==11))? false : true ;
    System.out.println(b);
    if(b==true)
    {
        System.out.println("condition TRUE");
        String replaceString=string.replaceAll(string,"info@");
        System.out.println("replaceString  :"+replaceString+name1);
    }
    if(b==false) 
    {
        System.out.println("condition FALSE");
        String replaceString=s.replaceAll(s,"info@");
        System.out.println("replaceString  :"+replaceString+name);
    }
4

3 に答える 3

0

わかりました、苦労しないでください。文字列内のhttp://を使用して、または他の可能なパターンを に置き換えてください。正規表現を使用することをお勧めしますstr.replaceAll()info@

String str = "http://www.stackoverflow.com";

str = str.replaceAll("http:\\/\\/(www\\.)?","info@");
System.out.println(str);

http://rextester.com/SJD79549

さて、私の質問は?あなたは何をしようとしているのですか?

于 2012-12-30T12:41:23.397 に答える
0

String orig = "Hello World!";

String repl = orig.substring(6, 11); // "World"

String newstr = orig.replaceAll(repl, "user1937829"); // Hello user1937829!

あなたの場合、必要ありませんhttp://(www)

String newstr = orig.replaceAll("www", "").replaceAll("http://", "info@");

newstrがまたはのinfo@stackoverflow.com場合と等しくなります。orighttp://www.stackoverflow.comhttp://stackoverflow.com

これがあなたが望むすべてであることを願っています。

于 2012-12-30T12:44:37.187 に答える
0

置換関数で正規表現を使用する必要があります

String str1= "http://www.stackoverflow.com";
String str2 = "http://stackoverflow.com";
System.out.println(str1.replaceAll("http:\\/\\/(www\\.)?","info@"));
System.out.println(str2.replaceAll("http:\\/\\/(www\\.)?","info@"));
于 2012-12-30T12:44:41.230 に答える