iOS rangeOfString找不到肯定存在的字符串

时间:2013-10-13 01:04:45

标签: iphone ios objective-c cocoa

我在objective-c中编写代码。我想从字符串中提取一个url。

这是我的代码:

NSMutableString *oneContent = [[latestPosts objectAtIndex:i] objectForKey:@"content"];
NSLog(@"%@", oneContent);//no problem
NSString *string = @"http";
if ([oneContent rangeOfString:string].location == NSNotFound) {
   NSLog(@"string does not contain substring");
} else {
   NSLog(@"string contains substring!");
}

正如您所看到的,我想从oneContent字符串中提取一个网址,我已经检查过oneContent肯定包含“http”,但为什么结果显示什么?

有没有更好的方法来提取网址?

1 个答案:

答案 0 :(得分:0)

检查oneContent或您正在运行的实际代码。

这有效:

NSMutableString *oneContent = [@"asdhttpqwe" mutableCopy];
NSLog(@"%@", oneContent);//no problem
NSString *string = @"http";
if ([oneContent rangeOfString:string].location == NSNotFound) {
   NSLog(@"string does not contain substring");
} else {
   NSLog(@"string contains substring!");
}

NSLog输出:

Untitled[5911:707] asdhttpqwe
Untitled[5911:707] string contains substring!

使用Mutable字符串可能最好,除非有充分的理由这样做。

我建议使用NSScanner。