我有一個macOS應用程序。我需要刪除任何NSURL
的方案和www
部分。這是我想出了:在NSURL中檢測並移除'www'
// For testing purposes.
NSString *blogID = @"https://www.testing1234.tumblr.com";
// Create the corrected link string.
NSString *correctLink;
// Convert the string to a url.
NSURL *url = [NSURL URLWithString:blogID];
// Check if the url has a scheme.
if ([url scheme] != nil) {
correctLink = [url host];
} else {
correctLink = blogID;
}
// Ensure there are enough characters before
// performing the necessary 'www.' checks.
if ([correctLink length] > 4) {
// Remove the first instance of 'www.'
// from the blog url link string.
if ([[correctLink substringToIndex:4] containsString:@"www."]) {
correctLink = [correctLink substringFromIndex:4];
}
}
NSLog(@"correctLink: %@", correctLink);
我的問題是:我怎麼能可靠地去除字符串的一部分www
?對於初學者來說,www
的變體不是www2
? NSURL
有什麼方法可以讓我檢測到字符串的www
部分? (就像我可以通過調用scheme
來檢測字符串的http://
部分)。
更新
我不能使用stringByReplacingOccurrencesOfString
因爲它將取代的www
所有出現。所以如果url恰好是www.testsitewww.tumblr.com
那麼它將變成testsite.tumblr.com
。這不是我想要的,我只想刪除第一次出現www
(或其他任何變體,如www2
)。
謝謝,丹。
@Supertecnoboff更新了代碼並進行了測試。請檢查一下。 –
完美地工作,正是我需要的。謝謝! – Supertecnoboff