Как изменить или изменить положение слов в объекте String в Objective C? - PullRequest
0 голосов
/ 01 марта 2011

Как, например, для создания строкового объекта со строкой «Welcome to target-C», а затем для печати строки как «target-C to Welcome». Это должно работать для любой строки.Пожалуйста помоги.Спасибо:)

Ответы [ 3 ]

3 голосов
/ 01 марта 2011

Вот, пожалуйста.Не самое эффективное решение, но делает свою работу.

NSString *myString = @"This is a test";
NSArray *myWords = [myString componentsSeparatedByString:@" "];
// myWords is now: [@"This", @"is", @"a", @"test"]
NSMutableArray *reversed = [NSMutableArray arrayWithCapacity:[myWords count]];
NSEnumerator *enumerator = [myWords reverseObjectEnumerator];
for (id element in enumerator) {
    [reversed addObject:element];
}
NSString *reverseString = [reversed componentsJoinedByString:@" "];
NSLog(@"%@", reverseString);

Если у вас есть какие-либо вопросы, дайте мне знать.

Обновление

Вы можете попробоватьпросто для цикла.Вот так.

NSString *myString = @"This is a test";
NSArray *myWords = [myString componentsSeparatedByString:@" "];
NSMutableString* theString = [NSMutableString string];
for (int i=[myWords count]-1; i>=0;i--){
    [theString appendFormat:@"%@ ", [myWords objectAtIndex:i]];
}
0 голосов
/ 13 февраля 2017
NSString *myStr = @"India is my Country";

NSArray* array= [myStr componentsSeparatedByString:@" " ];
NSArray* reversedArray = [[array reverseObjectEnumerator] allObjects];
NSLog(@"%@",reversedArray);

NSString * result = [reversedArray componentsJoinedByString:@" "];
NSLog(@"%@",result);
0 голосов
/ 01 марта 2011

Возможно, я думаю, что вы должны прочитать строку, пока не встретите пробел и не сохранить ее в массиве, а затем использовать - (void)exchangeObjectAtIndex:(NSUInteger)idx1 withObjectAtIndex:(NSUInteger)idx2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...