文字列の文字をランダムに小文字または大文字に変更させたい(Xcodeで)。例:「example」から「ExaMpLe」、「eXAMPle」、ExAmPlE、またはこのようなランダムなもの..これを解決できますか?
ありがとう
文字列の文字をランダムに小文字または大文字に変更させたい(Xcodeで)。例:「example」から「ExaMpLe」、「eXAMPle」、ExAmPlE、またはこのようなランダムなもの..これを解決できますか?
ありがとう
-uppercaseString
サブストリングに対してand-lowercaseString
メソッドを使用するか、文字に対してtoupper()
andtolower()
関数を使用することができます。文字列を単純にフィルタリングする方法はありません。文字のanNSMutableString
またはC配列のいずれかを使用する必要があります。
文字を大文字にするか小文字にするかを決定するために使用できるランダムなブール値を取得する方法については、この質問を参照してください。
単語を文字の配列に分割し、乱数を使用してこれをループして大文字と小文字を判別し、配列をループした後、NSMutableStringを使用して文字を元に戻すことができます。
NSStringには、使用できるuppercaseStringメソッドとlowercaseStringメソッドがありました。
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
。