我想让一个字符串随机地将字母改为小写或大写(在Xcode中)。 例如:“示例”到“ExaMpLe”或“eXAMPle”或ExAmPlE“或其他类似的随机.. 我可以解决这个问题吗?
感谢
答案 0 :(得分:2)
您可以在子字符串上使用-uppercaseString
和-lowercaseString
方法,也可以在字符上使用toupper()
和tolower()
函数。没有办法简单地过滤字符串;你会想要使用NSMutableString
或C数组字符。
有关如何获取随机布尔值的信息,请参阅this question,您可以使用该值来确定字符是大写还是小写。
答案 1 :(得分:0)
你可以把这个单词分成一个字母数组,然后使用一个随机数循环来确定大小写,在循环数组之后,只需使用NSMutableString将字母重新粘在一起。
NSString有一个可以使用的大写字符串和小写字符串方法。
答案 2 :(得分: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
上就地执行。