我想从NSString中提取电话号码。
例如:在字符串Nandu @ + 91-(123)-456-7890中,我想提取+ 91-(123)-456-7890。
我尝试过像
这样的代码NSString *myString = @"Nandu @ +91-(123)-456-7890";
NSString *myRegex = @"\\d{2}+\\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");
}
如何获得+91的电话号码。
答案 0 :(得分:1)
您可以使用此正则表达式模式
(\+\d{2}-\(\d{3}\)-\d{3}-\d{4})
答案 1 :(得分:1)
使用NSCharacterSet
您可以获得输出。如果您有任何疑问,请参阅下面的代码并告诉我。
NSString *originalString = @"Nandu @ +91-(123)-456-7890";
NSString *cleanedString = [[originalString componentsSeparatedByCharactersInSet:[[NSCharacterSet characterSetWithCharactersInString:@"0123456789-+()"] invertedSet]] componentsJoinedByString:@""];
NSLog(@"%@", cleanedString); //+91-(123)-456-7890
答案 2 :(得分:0)
您可以使用componentsSeparatedByString
NSString *originalString = @"Nandu @ +91-(123)-456-7890";
NSArray *arrayWithTwoStrings = [originalString componentsSeparatedByString:@"+"];
NSString *mobileNumberstring = [NSString stringWithFormat:@"+%@",[arrayWithTwoStrings objectAtIndex:1]];
NSLog (@"%@",mobileNumberstring);