2012-03-12 70 views
1

我正在編寫一個Android應用程序,需要一些幫助。如何從字符串的開頭修剪字符。 Android

我有一個字符串,其中包含一個URL。有時候,我會在url之前獲得額外的文本,並且需要將其修剪掉。

我得到這個「一些很酷的sitehttp://somecoolsite.com」

而且希望這個「http://somecoolsite.com」

首先,我需要的,如果字符串不開始檢測與http://然後如果不是,我需要修剪前面的所有內容http://

有沒有簡單的方法來做到這一點?

我可以做第一部分。

if (url.startsWith("http://") == false) { 
url.replace("", replacement) 
} 

任何幫助?

+0

你想看看[Javadoc文檔字符串](http://developer.android.com/reference/java/lang/String.html)?這在Java中幾乎是一樣的。 – 2012-03-12 21:05:28

+1

您提供的代碼與描述不匹配。 – aioobe 2012-03-12 21:05:49

回答

0

使用此:

if(inputURL.contains("http://") 
    inputURL = inputURL.substring(inputURL.indexOf("http://")); 
+0

我覺得我比我的回答更喜歡這個,儘管我可能會得到所有的肛門並且做一個臨時索引變量來避免搜索字符串兩次。 – 2012-03-12 21:09:26

+0

工作完全謝謝凱珊! – Doug 2012-03-12 21:29:57

2

要檢查字符串http://開始你做

if (inputUrl.startsWith("http://")) { 
    ... 
} 

要向上剪掉前綴,直到http://第一次出現這樣做

int index = inputUrl.indexOf("http://"); 
if (index != -1) 
    inputUrl = inputUrl.substring(index); 

API documentation for the String class應該提供您並提供您需要的所有信息。

+0

我喜歡這個答案比我的更好...... – 2012-03-12 21:11:52

0

另一種選擇是:

inputUrl = inputUrl.replaceAll(".*http://","http://"); 

應該在所有條件下正常工作(但我相信正則表達式是有點低效率)。

0

請注意,提供的答案假設字符串將是小寫的(沒有「HTTP」或「HTTP」),並沒有字符串包含https://開頭