NSMutableString *str =@"abcdefg123";
我想将每个字符随机到一个像这样@“f1ad2g3be2”的新字符串。
NSMutableString *str =@"abcdefg123";
我想将每个字符随机到一个像这样@“f1ad2g3be2”的新字符串。
非常简单。首先,您必须将字符分解为要使用的数组。然后你多次交换字母 X,我选择这样做,所以每个字符都会被交换
NSString *str =@"abcdefg123";
int length = str.length;
NSMutableArray *letters = [[NSMutableArray alloc] init];
for (int i = 0; i< length; i++) {
NSString *letter = [NSString stringWithFormat:@"%c", [str characterAtIndex:i]];
[letters addObject:letter];
}
for (int i = 0; i<length; i++) {
int value = arc4random() % (length-1);
NSLog(@"Value is : %i", value);
[letters exchangeObjectAtIndex:i withObjectAtIndex:value];
}
NSString *results = [letters componentsJoinedByString:@""];
NSLog(@"The string before : %@", str);
NSLog(@"This is the string now : %@", results);
NSMutableString *str1 = [[NSMutableString alloc]initWithString:str];
NSMutableString *str2 = [[NSMutableString alloc] init];
while ([str1 length] > 0) {
int i = arc4random() % [str1 length];
NSRange range = NSMakeRange(i,1);
NSString *sub = [str1 substringWithRange:range];
[str2 appendString:sub];
[str1 replaceOccurrencesOfString:sub withString:@"" options:nil range:range];
}
[str1 release];
str2 是你想要的