NSString内の文字 'a'の出現のすべてのインデックスを返すメソッドがありますか?ドキュメントを見てみると、そこには何もないようです。だから、NSStringをNSArrayの文字列に分解して反復する必要があるかもしれませんか?NSString内の文字のすべてのインデックスを返す
0
A
答えて
0
[NSRegularExpression enumerateMatchesInString:options:range:usingBlock:]を試してください。または実際には、他のNSRegularExpressionマッチングメソッドのいずれか。彼らはNSIndexSetを返さないでしょう - それはNSTextCheckingオブジェクトの配列になりますが、あなたはそれから非常に簡単にインデックスを取得できます。
ここではいくつかの(未テスト!)のサンプルコードです:
NSString* aString = @"Here's a string, that contains some letters a";
NSRegularExpression* regex = [NSRegularExpression regularExpressionWithPattern:@"a" options:0 error:NULL];
NSArray* matches = [regex matchesInString:aString options:0 range:NSMakeRange(0,[aString length])];
for(NSTextCheckingResult* i in matches) {
NSRange range = i.range;
NSUInteger index = range.location; //the index you were looking for!
//do something here
}
それはenumerateMatchesInStringを使用するために、実際に、より効率的なのですが、私はあなたがブロックであるか馴染みのかわからないので、私はより一般的に高速列挙を選びましたのNSArrayの。
更新:ブロックを使用した同じコード。ここで
NSString* aString = @"Here's a string, that contains some letters a";
NSRegularExpression* regex = [NSRegularExpression regularExpressionWithPattern:@"a";
[regex enumerateMatchesInString:aString
options:0
range:NSMakeRange(0,[aString length])
usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) {
NSRange range = result.range;
NSUInteger index = range.location; //the index you were looking for
//do work here
}];
0
NSString *[email protected]"The Quick Brown Fox Brown";
NSMutableArray *countloc=[[NSMutableArray alloc]init];
int temp=0;
int len=[full_string length];
for(int i =0;i<[full_string length];i++)
{
NSRange range=[full_string rangeOfString:@"Brown" options:0 range:NSMakeRange(temp,len-1)];
if(range.location<[full_string length])
[countloc addObject:[NSString stringWithFormat:@"%d",range.location]];
temp=range.location+1;
len=[full_string length]-range.location;
i=temp;
}
サブブラウンを検索し、ストリングの 場所も同様にブロックでコードを投稿
関連する問題
- 1. NSStringの文字のインデックス
- 2. NSString内のすべての文字を大文字にする方法
- 3. 文字列内の部分文字列のすべての結果を返す
- 4. NSStringの特定のインデックスの文字を置換する
- 5. NSStringですべての文字を小文字にする方法は?
- 6. iPhoneの文字列の文字のインデックスを返す方法は?
- 7. シェルスクリプト内のすべての文字と数字を繰り返します。
- 8. スカラーの文字列ベクトル内の特定の文字列のすべてのインデックスを取得するには
- 9. NSString内の大文字のランダムな文字
- 10. すぐに配列内の文字列を検索してインデックスを返す
- 11. NSStringのエスケープ文字
- 12. NSString内の文字セットに特定の文字を追加するには
- 13. 文字列内の文字のインデックスを検索しますか?
- 14. 文字列内の部分文字列のすべてのインデックスを見つける
- 15. 文字列内の文字以外の文字をすべて削除する
- 16. 文字列のすべての文字に対してTrueを返します
- 17. Pythonの文字列の最初の文字以外のすべてを返す
- 18. NSString内のすべての単語のメソッドを呼び出す
- 19. 文字列内の文字インデックスを取得する方法
- 20. 2つのNSString内で改行文字を保持する
- 21. 文字列内のNSStringとNSNumberを比較する
- 22. Pythonは文字列内のすべての文字を反復しません( 'None'を返します)。
- 23. 文字列内の部分文字列のインデックスをすべて検索し、それぞれの制限をJavaScriptで返します
- 24. NSStringの文字を置換する
- 25. 文字の定数配列内の最後の文字のインデックスを返します
- 26. シェルスクリプト内のすべてのファイル内の一意の文字列のインデックスを開始
- 27. Pythonの文字列からすべての大文字を返すには?
- 28. Javascriptを:のような文字列で繰り返される文字のインデックスがない私は、文字列中の繰り返し文字のすべてのインデックスを取得する方法を疑問に思って
- 29. スウィフトの文字列内のすべての文字を置換する
- 30. javascript文字列内の次のすべての文字を削除します。
心配列countlocに保存されていますか? – adit
これはNSUInteger index = range.locationである必要があります。 NSUIntegerの代わりにindex = result.location;私は正しいですか? – Bharathi
...うん。私の脳を怖がって書いてみましょう。 –