NSStringオブジェクトがあり、Wordを検索して、サブストリングを作成したい。
たとえば、私の文字列は次のとおりです。「犬は猫を食べました」、プログラムに「食べた」という単語を見つけて、「猫」になるサブストリングを作成させます。
誰かが私を助けたり、例を教えてもらえますか?
おかげで、
サギフト
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の同じソリューションです
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を返します。文字列にこの文字が含まれている場合はtrueを返し、それ以外の場合はfalseを返します。
NSString *theNewString = [receivedString substringFromIndex:[receivedString rangeOfString:@"Ur String"].location];
文字列を検索してから、検索した文字列を別の文字列に取得できます...
-(BOOL)Contains:(NSString *)StrSearchTerm on:(NSString *)StrText
{
return [StrText rangeOfString:StrSearchTerm options:NSCaseInsensitiveSearch].location==NSNotFound?FALSE:TRUE;
}
substringToIndex:
やsubstringFromIndex:
など、NSStringクラスで提供される2つのメソッドのいずれかを使用できます。 NSRangeを長さと位置として渡すと、目的の出力が得られます。