簡體   English   中英

如何在目標C中更改或反轉單詞在String對象中的位置?

[英]How to change or reverse the position of words in a String object in Objective C?

例如:創建一個字符串對象,其字符串為“ Welcome to Objective-C”,然后將字符串打印為“ objective-C to Welcome”。這適用於任何字符串。 請幫忙。 謝謝 :)

干得好。 不是最有效的解決方案,而是他的工作。

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]];
}
NSString *myStr = @"India is my Country";

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

NSString * result = [reversedArray componentsJoinedByString:@" "];
NSLog(@"%@",result);

可能的是,我認為您應該讀一個字符串,直到遇到一個空格並將其存儲在數組中,然后使用- (void)exchangeObjectAtIndex:(NSUInteger)idx1 withObjectAtIndex:(NSUInteger)idx2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM