Nice programing

NSString에서 단일 NSString 문자를 얻는 방법

nicepro 2020. 11. 6. 20:03
반응형

NSString에서 단일 NSString 문자를 얻는 방법


NSString 내부 어딘가에서 문자를 얻고 싶습니다. 결과가 NSString이기를 원합니다.

이것은 색인에서 단일 문자를 얻는 데 사용하는 코드입니다.

[[s substringToIndex:i] substringToIndex:1]

더 나은 방법이 있습니까?


이것은 또한 인덱스 i의 문자를 NSString으로 검색하며 추가 NSString이 아닌 NSRange 구조체 만 사용합니다.

NSString * newString = [s substringWithRange:NSMakeRange(i, 1)];

NSString에서 하나의 문자를 얻고 싶다면 이것을 시도 할 수 있습니다.

- (unichar)characterAtIndex:(NSUInteger)index;

이렇게 사용 :

NSString *originalString = @"hello";
int index = 2;
NSString *theCharacter = [NSString stringWithFormat:@"%c", [originalString characterAtIndex:index-1]];
//returns "e".

제안 사항은 ASCII와 같은 간단한 문자에만 적용됩니다. NSStrings는 유니 코드를 저장하고 캐릭터가 여러 유니 문자 인 경우 횡설수설로 끝날 수 있습니다. 사용하다

- (NSRange)rangeOfComposedCharacterSequenceAtIndex:(NSUInteger)index;

캐릭터가 몇 개의 유니 문자인지 확인하려면. 나는 이것을 사용하여 문자열을 단계별로 실행하여 문자 테두리가 발생하는 위치를 결정합니다.

완전히 유니 코드가 가능하다는 것은 약간의 작업이지만 사용하는 언어에 따라 다릅니다. 나는 많은 아시아 텍스트를 보았 기 때문에 대부분의 문자가 한 공간에서 쏟아져 나오기 때문에해야 할 일입니다.


NSMutableString *myString=[NSMutableString stringWithFormat:@"Malayalam"];
NSMutableString *revString=@"";

for (int i=0; i<myString.length; i++) {
    revString=[NSMutableString stringWithFormat:@"%c%@",[myString characterAtIndex:i],revString];
}
NSLog(@"%@",revString);

참고 URL : https://stackoverflow.com/questions/3836670/how-to-get-a-single-nsstring-character-from-an-nsstring

반응형