我有一个NSString对象,我希望通过定位一个单词来创建一个子字符串。
例如,我的字符串是:“狗吃了猫”,我希望程序找到单词“ate”并创建一个将成为“猫”的子字符串。
有人可以帮助我或给我一个例子吗?
谢谢,
Sagiftw
答案 0 :(得分:82)
NSRange range = [string rangeOfString:@"ate"];
NSString *substring = [[string substringFromIndex:NSMaxRange(range)] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
答案 1 :(得分:16)
NSString *str = @"The dog ate the cat";
NSString *search = @"ate";
NSString *sub = [str substringFromIndex:NSMaxRange([str rangeOfString:search])];
如果你想修剪空白,你可以单独完成。
答案 2 :(得分:8)
这样怎么样? 它几乎一样。 但是,对于初学者来说,NSRange的含义可能更容易理解,如果以这种方式编写的话。
最后,它与jtbandes的解决方案相同
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];
答案 3 :(得分:3)
试试这个..
BOOL isValid=[yourString containsString:@"X"];
此方法返回true或false。如果您的字符串包含此字符,则返回true,否则返回false。
答案 4 :(得分:2)
NSString *theNewString = [receivedString substringFromIndex:[receivedString rangeOfString:@"Ur String"].location];
您可以搜索字符串,然后将搜索到的字符串转换为另一个字符串...
答案 5 :(得分:1)
-(BOOL)Contains:(NSString *)StrSearchTerm on:(NSString *)StrText
{
return [StrText rangeOfString:StrSearchTerm options:NSCaseInsensitiveSearch].location==NSNotFound?FALSE:TRUE;
}
答案 6 :(得分:0)
您可以使用NSString类中提供的两种方法中的任何一种,例如substringToIndex:
和substringFromIndex:
。将NSRange作为您的长度和位置传递给它,您将获得所需的输出。