gpt4 book ai didi

iphone - 检测 NSString 中的电话号码

转载 作者:行者123 更新时间:2023-12-03 19:05:26 26 4
gpt4 key购买 nike

我想从 NSString 中提取电话号码。

例如:在字符串 Call John @ 994-456-9966 中,我想提取 994-456-9966

我尝试过类似的代码,

NSString *nameRegex =@"(\(\d{3}\)\s?)?\d{3}[-\s\.]\d{4}"; 
NSPredicate *nameTest = [NSPredicate predicateWithFormat:@"ANY keywords.name CONTAINS[c] %@",nameRegex];
validationResult=[nameTest evaluateWithObject:phoneNo];

但我无法得到确切的结果。谁能帮我?提前致谢。

最佳答案

我认为这就是您正在寻找的:

NSString *myString = @"John @ 123-456-7890";
NSString *myRegex = @"\\d{3}-\\d{3}-\\d{4}";
NSRange range = [myString rangeOfString:myRegex options:NSRegularExpressionSearch];

NSString *phoneNumber = nil;
if (range.location != NSNotFound) {
phoneNumber = [myString substringWithRange:range];
NSLog(@"%@", phoneNumber);
} else {
NSLog(@"No phone number found");
}

您可以依赖 Cocoa 内置的默认正则表达式搜索机制。这样您就可以提取与电话号码对应的范围(如果存在)。

请记住在创建正则表达式时始终使用双转义反斜杠。

根据您要提取的电话号码部分相应地调整您的正则表达式。

编辑

Cocoa 提供了非常简单的工具来处理正则表达式。对于更复杂的需求,您应该查看 Cocoa 项目的强大 RegexKitLite 扩展。

关于iphone - 检测 NSString 中的电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6274263/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com