1

このように変更する必要があります->Hello, go here http://www.google.com for your ... リンクを取得し、作成したメソッドで変更し、このように文字列に置き換えます

->Hello, go here http://www.yahoo.com for your...

これが私がこれまでに持っているものです:

if(Text.toLowerCase().contains("http://"))
{
    // Do stuff                 
}
else if(Text.toLowerCase().contains("https://"))
{
   // Do stuff                  
}

私がする必要があるのは、文字列の URL を別のものに変更することだけです。文字列の URL は常にhttp://www.google.comになるとは限らないため、単に言うことはできませんreplace("http://www.google.com","")

4

4 に答える 4

3

正規表現を使用:

String oldUrl = text.replaceAll(".*(https?://)www((\\.\\w+)+).*", "www$2");

text = text.replaceAll("(https?://)www(\\.\\w+)+", "$1" + traslateUrl(oldUrl));

注: 以下のコメントの追加要件を満たすためにコードが変更されました。

于 2013-10-13T12:25:21.520 に答える
0

以下のコードを使用して、文字列からリンクを取得できます。文字列には .com ドメインのみが含まれると想定しました

            String input = "Hello, go here http://www.google.com";
        Pattern pattern = Pattern.compile("http[s]{0,1}://www.[a-z-]*.com");
        Matcher m = pattern.matcher(input);
        while (m.find()) {
            String str = m.group();
        }
于 2013-10-13T12:23:18.590 に答える
0

次のようなことを試しましたか:

s= s.replaceFirst("http:.+[ ]", new link);

これにより、http で始まり最初の空白までの単語が検索され、必要なものに置き換えられます。

リンクを保持したい場合は、次のことができます。

String oldURL;
if (s.contains("http")) {
    String[] words = s.split(" ");
    for (String word: words) {
        if (word.contains("http")) {
            oldURL = word;  
            break;
        }
    }
    //then replace the url or whatever
}
于 2013-10-13T12:41:39.953 に答える