2011-08-14 22 views
1

文字列を小文字または大文字にランダムに(Xcodeで)変更させたいと思います。例えば :「例」または「例」または実施例」またはランダムにこのような何か他のものへの「例」..ホット は、私はこの問題を解決することができますランダム大文字 - 小文字

おかげ

+1

あなたはこれまでに何を試しましたか?どちらの部分に苦労していますか?乱数の生成、または文字の大文字への変換? –

答えて

0

NSStringは、lowercaseStringおよびuppercaseStringの両方の方法を有する。文字列内の文字を一連の部分文字列として反復処理し、ランダムなソースを使用してそれぞれの適切な小文字/大文字を呼び出して結果を収集することができます。以下のような何か...

NSMutableString result = [NSMutableString string]; 
for (NSUInteger i = 0; i < [myString length]; i++) 
{ 
    NSString *substring = [myString substringWithRange:NSMakeRange(i, 1)]; 
    [result appendString:(rand() % 2) ? [substring lowercaseString] 
            : [substring uppercaseString]]; 
} 

(あるとして、あなたはこのケースを使用している場合、それをシードすることを忘れないでください)あなたはrandよりもエントロピーの優れたソースを好むかもしれないが、それは、例えばやります。文字列が大きい場合は、NSMutableStringでその場で行うことができます。

0

あなたは配列に言葉を破るだろうか?可能性がありますが、文字、およびケースを決定する乱数を使用して、このオーバーループの、配列をループした後、単にNSMutableStringを使用して戻って一緒に文字を貼り付けます。

NSStringのは、あなたが使用することができますuppercaseStringとlowercaseStringメソッドを持っていた。

2

を使用するか0および-lowercaseStringメソッドを使用するか、または文字にtoupper()およびtolower()関数を使用します。単に文字列をフィルタリングする方法はありません。 NSMutableStringまたはCの文字配列を使用することをお勧めします。

ランダムブール値の取得方法については、this questionを参照してください。この値を使用して、文字を大文字か小文字かにすることができます。

関連する問題