私が持っているとしましょう:
this - is an - example - with some - dashes
NSRange
`rangeOfString:@"-"で"-"の最初のインスタンスを取得しますが、最後のインスタンスのみが必要な場合はどうなりますか?
lastIndexOf
で同様に機能するものを探していJS
ます。ありがとう!
渡すことができるオプションの1つは、[NSString rangeOfString: options:]
NSBackwardsSearchです(これにより、表示している文字列の最後の項目が表示されます)。
rangeOfStringメソッドの別のバリアントがあります。
- (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask range:(NSRange)aRange
これにより、検索する範囲を指定できるため、ループ内で各範囲を検索し、検索範囲から除外して、一致するものがなくなるまで再試行できます。
あなたがやろうとしていることに応じて、あなたはこれを使ってもっと運がいいかもしれません:
NSArray *components = [string componentsSeparatedByString:@" - "];
これにより、文字列が@ "-"で区切られた各部分に分割され、配列で返されます。次に、[componentslastObject]を使用して最後の文字列を取得できます。
さらに別のオプションは、NSScannerを使用することです。これは、文字列をループして、トークンを取得するように設計されています。