2

我正在用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字符串中提取一个url,并且我检查了oneContent肯定包含“http”,但是为什么结果什么都没有显示呢?

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

4

1 回答 1

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!

除非有充分的理由,否则最好不要使用可变字符串。

我建议使用 NSScanner。

于 2013-10-13T01:53:03.823 回答