2012-05-03 3 views
0

아이폰 애플리케이션에서 현지화 및 정규 표현식을 사용하는 경우. 그리고 우리가 영어를 사용하지 않을 때.iphone 앱에서 현지화를 사용할 때 정규 표현식을 변환하는 방법은 무엇입니까?

그런 다음 해당 정규 표현식을 상대 언어로 변환하는 방법.

것은 내가 정규식 이하로 사용하고있는 경우 :

+ (BOOL) isAlphabetsOnly:(NSString *) candidate { 
    if (![self isEmpty:candidate]) { 
     NSString *alphaRegex = @"^\\s*([A-Za-z ]*)\\s*$"; 
     NSPredicate *alphaTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", alphaRegex]; 

     return [alphaTest evaluateWithObject:candidate]; 
    } 
    return NO; 
} 

그것은 영어에 대한 잘 작동합니다. 그러나 다른 언어는 아닙니다. 그러면 어떻게 다른 언어로 변환 할 수 있을까요? 그래서 그것은 다른 언어로 작동합니다.

도와주세요. 당신은 Localizable.strings 파일에 문자열로 정규 표현식을 넣을 수

답변

0

나는 iOS에서 작동하지 않습니다하지만 당신이 그렇게 같은 것을 사용하는 경우 here에 따라 결코 : ^\\s*([\\s]*)\\s*$는 다른 로케일에서 작동한다.

\ w 단어 문자와 일치하십시오. 단어 문자는 [\ p {Ll} \ p {Lu} \ p {Lt} \ p {Lo} \ p {Nd}]입니다.

편집 : 네, 맞습니다. here에 명시된 바와 같이 \p{L}을 사용하여 필요한 작업을 수행 할 수 있어야합니다. 어떤 문자와도 일치해야합니다. ^\\s*([\\p{L}\\s]*)\\s*$

+0

하지만이 식을 쓰면 모든 알파벳과 숫자 값을 받아 들일 것입니다. 나는 알파벳 만 받아들이고 싶다. –

+0

@SmartDeveloper : 죄송합니다. 당신이 올바른지. 나는 내 대답을 수정했다. – npinti

+0

감사합니다. 그것은 나를 위해 일하는 .. –

0

감사합니다.

당신은 다음을 수행하여 그것을 얻을 수 있습니다 :

있는 NSString 을 * myRegularExpression = NSLocalizedString ("my_regular_expression", 전무 @);

+0

정상적인 문장을 현지화로 변환하는 방법을 알고 있습니다. 그러나 어떻게 정규 표현식으로 변환 할 수 있습니까? –

관련 문제