1

我想让一个字符串随机将字母更改为小写或大写(在 Xcode 中)。例如:“example”到“ExaMpLe”或“eXAMPle”或ExAmPlE”或其他类似的随机......我可以解决这个问题吗?

谢谢

4

3 回答 3

2

您可以对子字符串使用-uppercaseStringand方法,或者对字符使用and函数。没有办法简单地过滤字符串。你会想要使用一个字符数组或一个 C 字符数组。-lowercaseStringtoupper()tolower()NSMutableString

有关如何获取随机布尔值的信息,请参阅此问题,您可以使用它来确定字符是大写还是小写。

于 2011-08-14T22:35:03.610 回答
0

NSString有一个lowercaseStringuppercaseString方法。您可以将字符串中的字符作为子字符串序列进行迭代,使用一些随机源在每个字符上调用适当的小写/大写,收集结果。就像是...

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.

于 2011-08-14T22:36:56.020 回答
0

您可以将单词分解为一个字母数组,然后使用随机数循环以确定大小写,在循环数组后,只需使用 NSMutableString 将字母重新组合在一起。

NSString 有一个可以使用的大写字符串和小写字符串方法。

于 2011-08-14T22:34:45.073 回答