본문 바로가기

프로그래밍/iOS

[iOS] NSString이 한글인지 아닌지 판별

한글은 unicode기 때문에 cString으로 변환하여 길이를 비교해보면 

NSString의 length와 차이가 있다.

따라서 그렇게 비교 

-(BOOL) checkKoean : (NSString*)string

{

    NSString* firstChar = [string getFirstChar];

    NSString* lastChar = [string getLastChar];

    NSInteger code1 = [firstChar characterAtIndex:0];

    NSInteger code2 = [lastChar characterAtIndex:0];

    if (code1 < 44032 || code1 > 55203 || code2< 44032 || code2 > 55203)

    {

//        NSLog(@"한글이 아닙니다.");

        return NO;

    }


    if(firstChar.length == strlen([firstChar cStringUsingEncoding:NSUTF8StringEncoding]) && lastChar.length == strlen([lastChar cStringUsingEncoding:NSUTF8StringEncoding]))

    {

        return NO;

    }

    // 적어도 단어가 들어와야

    if (strlen([firstChar cStringUsingEncoding:NSUTF8StringEncoding]) < 2 || strlen([lastChar cStringUsingEncoding:NSUTF8StringEncoding]) <2)

    {

        return NO;

    }

    return YES;

}

@implementation NSString (Character)

-(NSString *)getFirstChar

{

    return [self substringWithRange:NSMakeRange(0, 1)];

}

-(NSString *)getLastChar

{

    return [self substringWithRange:NSMakeRange(self.length-1, 1)];

}


'프로그래밍 > iOS' 카테고리의 다른 글

[iOS] 숫자에 천단위 구분자(,) 넣어주기  (0) 2017.03.03
[iOS] NSString 초,중,종성 분리 Category  (0) 2017.03.03
[iOS] slicing  (0) 2016.11.29
[iOS] bitcode  (0) 2016.11.29
[iOS] 프로젝트 파일 nsdata로 가져오기  (0) 2016.11.23