2014-07-18 183 views
0

我只想替換所有以「http」開頭並以空格或「\ n」結尾的單詞字符串刪除字符串中以「http」開頭的所有單詞嗎?

示例字符串爲。

以下全部結果;

http://www.google.com/abc.jpg是一個圖像的網址。

或一段時間談到像https://www.youtube.com/watch?v=9Xwhatever這是一個示例文本

結果字符串應該是這樣

是圖像的URL。談到這樣的

或一段時間是一個示例文本

我只是想用「」來取代它;我知道邏輯但不知道這個功能。

我的邏輯是

string.startwith("http","\n")// starts with http and ends on next line or space 

.replaceAll("") 

回答

1
public static void main(String[] args) { 
    String s = "https://www.google.com/abc.jpg is a url of an image."; 
    System.out.println(s.replaceAll("https?://.*?\\s+", "")); 

} 

O/P:

is a url of an image. 
+0

,或者如果它的開頭是https,我必須以https再次調用它,或有其它方法 – Nepster

+0

@Nepster - 固定它.. :)。現在它適用於您忘記編輯的'http'和'https' – TheLostMind

+0

。它仍然是相同的 – Nepster

1

String.replaceAll()允許您使用正則表達式。在正則表達式中,^允許您捕獲字符串的開頭。因此,你可以做這樣的:

System.out.print("http://google-http".replaceAll("^http", "")); 

結果:

://google-http 

http之初已被刪除,但不是一個結尾。

1
public static void main(String[] args) { 
    String str = "https://www.google.com/abc.jpg is a url of an image."; 
    String subStr1 = "http://"; 
    String substr2 = "https://"; 
    String foundStr = ""; 
    if(str.startsWith(subStr1)) { 
     foundStr = subStr1; 
    } 
    if (str.startsWith(subStr2)) { 
     foundStr = subStr2; 
    } 
     str = str.replaceAll(foundStr, ""); 
     str = str.replaceAll(" ", ""); 
} 
+0

它只會取代http。我想刪除完整路徑@TheLostMind答案是正確的。但我必須通過http調用它兩次,第二次用https調用它 – Nepster

+0

此代碼將正確執行,如果您需要簡化此代碼,則可以使用元素「http://」和「https://」創建一個數組。然後使用數組搜索功能,可以檢查給定字符串中是否存在子字符串。如果發現用空字符替換該字符串。 –

+0

你沒有得到我。我的問題是要取代一開始就可能沒有的完整單詞。請參閱http://www.tutorialspoint.com/java/java_string_startswith.htm。我的http url可能位於字符串的中間。但是你的代碼搜索是否以它開頭。 – Nepster

相關問題