在NSString对象中查找一个子string

我有一个NSString对象,我想通过查找一个单词来创build一个子string。

例如,我的string是:“狗吃了猫”,我想让程序find“吃”这个词,并将一个子string作为“猫”。

有人可以帮助我或给我一个例子吗?

谢谢,

Sagiftw

NSRange range = [string rangeOfString:@"ate"]; NSString *substring = [[string substringFromIndex:NSMaxRange(range)] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 
 NSString *str = @"The dog ate the cat"; NSString *search = @"ate"; NSString *sub = [str substringFromIndex:NSMaxRange([str rangeOfString:search])]; 

如果你想修剪空白,你可以单独做。

这样呢? 这几乎是一样的。 但是,如果用这种方式编写的话,对于初学者来说,NSRange的含义可能更容易理解。

最后,这是jtbandes的同样的解决scheme

  NSString *szHaystack= @"The dog ate the cat"; NSString *szNeedle= @"ate"; NSRange range = [szHaystack rangeOfString:szNeedle]; NSInteger idx = range.location + range.length; NSString *szResult = [szHaystack substringFromIndex:idx]; 

试试这个..

 BOOL isValid=[yourString containsString:@"X"]; 

此方法返回true或false。 如果你的string包含这个字符,它会返回true,否则返回false。

 NSString *theNewString = [receivedString substringFromIndex:[receivedString rangeOfString:@"Ur String"].location]; 

您可以search一个string,然后将search到的string转换为另一个string…

 -(BOOL)Contains:(NSString *)StrSearchTerm on:(NSString *)StrText { return [StrText rangeOfString:StrSearchTerm options:NSCaseInsensitiveSearch].location==NSNotFound?FALSE:TRUE; } 

您可以使用NSString类中提供的两种方法中的任何一种,如substringToIndex:substringFromIndex: 传递一个NSRange作为你的长度和位置,你将得到所需的输出。