2016-10-14 4 views
-4

저는 iOS뿐 아니라 객관적인 c를 처음 접했습니다. 나는 하나의 문자열 난 단지 'nhoj'에서 '존'역 할이ios에서 NSString을 사용하여 주어진 특정 단어 형식의 문자열을 뒤집고 싶습니다.

NSString *string1 = @"My name is john"; 

같은 있습니다. 도와주세요 !!!. 감사합니다.

+0

시도해 보니 여기에 넣어주세요. –

+0

시도해 보셨습니까? 어떤 단어를 뒤집을 지 어떻게 감지합니까? 몇 가지 조사를 수행 했습니까? http://stackoverflow.com/questions/6720191/reverse-nsstring-text? – Larme

+0

내 대답을 확인하십시오 user7018875 – user3182143

답변

1

여기 있습니다. 다음 스 니펫이 도움이 될 수 있습니다.

NSString *string1 = @"My name is john"; 

NSArray *arr = [string1 componentsSeparatedByString:@" "]; 

NSString *temp_sre = [arr objectAtIndex:arr.count - 1]; 

int len = [temp_sre length]; 
NSMutableString *reverseName = [[NSMutableString alloc] initWithCapacity:len]; 
for(int i=len-1;i>=0;i--) 
{ 
    [reverseName appendString:[NSString stringWithFormat:@"%c",[temp_sre characterAtIndex:i]]]; 
} 
NSLog(@"reverseName = %@",reverseName); 

NSMutableArray *final_array = [[NSMutableArray alloc] init]; 
final_array = arr.mutableCopy; 
[final_array removeLastObject]; 
[final_array insertObject:reverseName atIndex:final_array.count]; 

NSString *final_string = [final_array componentsJoinedByString:@" "]; 

NSLog(@"FInal String = %@",final_string); 
+0

안녕하세요 Maddy, 귀하의 프로그램 잘 작동하지만 그것은 단지 반전 단어 'nhoj'를 표시, 나는 "내 이름은 nhoj입니다"같은 전체 문자열을 원합니다. 그리고 배열에 대체하지 마십시오, 문자열이 길 수 있기 때문에, 그래서 나는 배열없이 싶다. – user7018875

+0

당신은 다음과 같은 출력이 필요합니다. "nhoj si eman yM"? –

+0

"내 이름은 nhoj입니다." – user7018875

1

시도해보십시오. 원하는 결과가 출력됩니다.

NSString *strName = @"My name is john" ; 

NSArray *arrStringPart = [strName componentsSeparatedByString:@" "]; 
NSString *strToReverse = [arrStringPart objectAtIndex:arrStringPart.count - 1]; 


int len = (int)[strToReverse length]; 
NSMutableString *mutStrReverce = [[NSMutableString alloc] initWithCapacity:strName.length]; 

for(int i=0;i<arrStringPart.count-1;i++) 
{ 
    [mutStrReverce appendString:[NSString stringWithFormat:@"%@ ",[arrStringPart objectAtIndex:i]]]; 
} 
for(int i=len-1;i>=0;i--) 
{ 
    [mutStrReverce appendString:[NSString stringWithFormat:@"%c",[strToReverse characterAtIndex:i]]]; 
} 

NSLog(@"%@",mutStrReverce); 
관련 문제