プログラムで、特定の文字列に文字が何回存在するかを確認できます。
letterOccurences= [[tempWordStr componentsSeparatedByString:chosenCharacter] count];
したがって、ミシシッピという単語の場合、選択した文字が「i」の場合、この関数は4を返します。
しかし、私が知りたいのは、文字が文字列のどこに表示されるかです。ミシシッピの場合、これは1,4,7,10になります。
NSString
メソッドを使用できます。rangeOfString:options:range:
これは、指定された範囲内の指定された文字列 (つまり、@"i"
) の範囲を検索して返します。部分文字列のインスタンスが見つからなくなるまで、レシーバーの特定の範囲を調整するだけです。
返された配列内の要素の数を取得するだけでなく、文字列を分割するトリックを使用して、配列内の各要素の長さを取得します。ループして長さを累積し、欠落している「i」に 1 を追加します。