web-dev-qa-db-ja.com

NSStringオブジェクト内のサブストリングを見つける

NSStringオブジェクトがあり、Wordを検索して、サブストリングを作成したい。

たとえば、私の文字列は次のとおりです。「犬は猫を食べました」、プログラムに「食べた」という単語を見つけて、「猫」になるサブストリングを作成させます。

誰かが私を助けたり、例を教えてもらえますか?

おかげで、

サギフト

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

空白をトリミングする場合は、個別に行うことができます。

16
jtbandes

この方法はどうですか?それはほぼ同じです。しかし、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];
8
Sedat Kilinc

これを試してください..

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

このメソッドはtrueまたはfalseを返します。文字列にこの文字が含まれている場合はtrueを返し、それ以外の場合はfalseを返します。

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

文字列を検索してから、検索した文字列を別の文字列に取得できます...

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

substringToIndex:substringFromIndex:など、NSStringクラスで提供される2つのメソッドのいずれかを使用できます。 NSRangeを長さと位置として渡すと、目的の出力が得られます。

0