ios - 使用 NSRegularExpression 检测字符串是否包含西里尔字母的示例

标签 ios iphone regex nsstring nsregularexpression

我查看了Apple referenceNSRegularExpression ,并了解为了查看字符串是否是西里尔字母,我应该使用 \p{script=cyrillic} .但是,我无法在引用指南或 answer 中找到如何完成此操作的实际示例。位于SO。我理想地想要实现的是:

if (string contains \p{script=cyrillic}){
    return YES;
    }
else {
    return NO;
    }

最佳答案

也许(我是 iOS 编程新手):

- (BOOL)containsCyrillic:(NSString*)str
{
    NSString* const pattern = @"\\p{script=cyrillic}+";
    NSRegularExpression* regex = [[NSRegularExpression alloc] initWithPattern:pattern
                                                                      options:0
                                                                        error:nil];
    NSRange range = NSMakeRange(0, [str length]);
    return [regex numberOfMatchesInString:str
                                  options:0
                                    range:range] > 0;
}

然后是用法(NSString 的类别可能会更好?)
NSLog(@"hello: %hhd", [self containsCyrillic:@"hello"]);
NSLog(@"привет: %hhd", [self containsCyrillic:@"привет"]);

关于ios - 使用 NSRegularExpression 检测字符串是否包含西里尔字母的示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22275994/

相关文章:

ios - Objective C 应用程序中的 “Swift Language Version” 错误

ios - 知道 Core Data 何时使用 NSXMLParser 保存了所有实体

ios - 以编程方式拍摄 X 张照片

iphone - Xcode 4.6 调试 - 源代码未显示(方案和调试工作流程设置正确)

ios - UIPageViewController 调整 subview 大小为自己预留空间

regex - Vim-substitute 命令插入重复项

javascript - 正则表达式子字符串以 JavaScript 开头和结尾

ios - 在 Xcode 10 中使用启动图像时,iPhone XS Max/XR 无法使用原始分辨率

javascript - 在 Javascript 中使用 Regex 返回单词数组

ios - 应用程序在 iOS 中将帐户 A 移动到 B 后可能丢失钥匙串(keychain)访问问题