0
NSMutableString *str [email protected]"abcdefg123";
我想隨機將每個字符添加到像這個@「f1ad2g3be2」這樣的新字符串中。如何隨機對一個NSString進行排序
NSMutableString *str [email protected]"abcdefg123";
我想隨機將每個字符添加到像這個@「f1ad2g3be2」這樣的新字符串中。如何隨機對一個NSString進行排序
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的是什麼ü想
這很簡單。首先,你必須把角色分解成一個數組來處理。然後你交換字母X很多次,我選擇這樣做,所以每個字符將被交換
NSString *str [email protected]"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);
你應該澄清你的問題。如果你想亂打字符串中的字符,就自己動手吧。你卡在什麼地方? – keyser
他想洗牌給定字符串中的所有字符。 – Thomas
下次更清楚地問問題。 –