NSStringのNSArrayオブジェクトを数えたいと思います。私のNSArrayは@"a"
、@"w"
オブジェクト、そして私の文字列は@"abcdefgw"
です。私は@"w"
オブジェクトが何回文字列に入っているか知りたいです。文字列にNSArrayオブジェクトの番号を見つける
答えて
- (NSArray *)componentsSeparatedByString:(NSString *)separator
を使用できますが、境界の問題がある可能性があります。また、このようなstringByReplacingOccurrencesOfString:withString:
を使用することができます。
NSString *shortString = [myString stringByReplacingOccurrencesOfString:@"w" withString:@""];
return mystring.length-shortString.length;
+1かなりスマート。 –
私はそれが好きですが、複数の文字の検索を許可する場合は、検索文字列の長さで除算する必要があります。 –
ありがとう、その非常に助けてくれました。 – mahyar
あなたは範囲を毎回縮小し、その後のサブストリングを検索する必要がありますサブストリングをカウントするために探している場合...のようなものを。
-(NSInteger)occurrencesOfSubstring:(NSString *)substring inString:(NSString *)string
{
int occurrences =0;
NSRange searchRange = NSMakeRange(0, [string length]);
NSRange foundRange;
do {
foundRange = [string rangeOfString:substring options:NSCaseInsensitiveSearch range:searchRange];
if ((foundRange.location != NSNotFound)) {
occurrences++;
searchRange.location = foundRange.location+foundRange.length;
searchRange.length = [string length] - (foundRange.location+foundRange.length);
}
}while (foundRange.location != NSNotFound);
return occurrences;
}
これは**非常に遅いです。 'NSRange'のオーバーヘッドを避けるために、文字列を実行して各文字をチェックするほうが速くなります。 – PengOne
なぜスカラー型が遅くなると思いますか?あなたはそれをプロファイルしましたか? –
はい。私にとっては、 'rangeOfString'を繰り返し使用することは、各文字を読み込むよりも約50%遅くなりました。これは数ヶ月前と少なくとも1回のiOSアップデート前であったため、パフォーマンスが大幅に改善された可能性があります。このような単純な例のために、私はそれが違いを生むのではないかと疑います。しかし、これを繰り返し呼び出す必要がある場合、コストがかかる可能性があります。 – PengOne
- 1. 文字列内の特定の番号を見つけるか?
- 2. ファイル内に特定の文字列を含む行番号を見つける
- 3. txtファイルとリネーム番号の文字列を見つけるには
- 4. 文字列が外部テキストファイル内にある行番号を見つける
- 5. 同じ番号をつけて番号(文字列)に変換する
- 6. Cでのpdfファイルの文字列のページ番号を見つける#
- 7. 文字列内の連続番号を見つけてマージする方法は?
- 8. リスト内の番号をリスト外に番号を付ける。文字列
- 9. Java:文字列内の2番目の文字を見つける方法は?
- 10. 最高のバージョン番号を持つ配列内の文字列を見つける
- 11. Rオブジェクトのリピート文字列に対応する番号を付けて返す
- 12. 特定の文字列を持つ列を見つけて列番号を返す
- 13. Bashが文字列のリストに文字列を見つける
- 14. 文字列に見つからない文字を見つけるJavaScript文字
- 15. テーブル内のセルの行番号と列番号を見つける方法
- 16. Palindromeの番号を見つける
- 17. 一意の番号を見つける
- 18. マルチスレッドアプリケーションのプロセス番号を見つける
- 19. 配列から特定の番号を見つけるには?
- 20. 最後の文字列を検索して文字列の2番目の文字列を見つけよう
- 21. Java - 文字列の番号
- 22. 別の文字列の後の文字列を見つける
- 23. 文字列のintを見つける
- 24. 文字列のインデックスを見つける
- 25. 文字の後に最初の文字列を見つける
- 26. SQL Server - 番号パターンを見つける
- 27. 連続番号を見つける
- 28. IMEI番号を見つけるコード
- 29. 文字列内の文字列を見つける
- 30. 文字列の部分文字列を見つける
私はあなたが何を意味するか分かりません。 'count'メッセージを送ることで、配列内のオブジェクトの数を得ることができます。 'length'メッセージを送ることで、文字列中の文字数を得ることができます。 –