在iphone应用程序中使用本地化时,如何转换正则表达式?

在iphone应用程序中使用本地化时,如何转换正则表达式?,iphone,ios,regex,ipad,Iphone,Ios,Regex,Ipad,当我们在iphone应用程序中使用本地化和正则表达式时。当我们不使用英语时 然后,如何在相对语言中转换该正则表达式 如果我使用以下正则表达式: + (BOOL) isAlphabetsOnly:(NSString *) candidate { if (![self isEmpty:candidate]) { NSString *alphaRegex = @"^\\s*([A-Za-z ]*)\\s*$"; NSPredicate *alphaTest =

当我们在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文件中

然后,您可以通过执行以下操作获得它:

NSString *myRegularExpression=NSLocalizedString(@“my_regular_expression”,nil)


我从未在iOS上工作过,但根据您是否使用类似的工具:
^\\s*([\\s]*)\\s*$
应该可以在不同的地区工作

\w匹配一个单词字符。单词字符是 [\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}]

编辑:是的,你是对的,我的错。如中所述,您应该能够使用
\p{L}
执行所需操作,您应该能够匹配任何字母:
^\\s*([\\p{L}\\s]*)\\s*$

我知道如何将普通句子转换为本地化。但我们如何转换正则表达式呢?但当我写这样的表达式时,它将接受所有字母和数字值。我只接受字母。@SmartDeveloper:对不起,我的错。你说得对。我修改了我的答案。