gpt4 book ai didi

ios - 删除 iOS 中不需要的字符

转载 作者:行者123 更新时间:2023-11-28 18:01:19 25 4
gpt4 key购买 nike

我正在填充地址簿中的所有联系人。我必须只向服务器发送没有国家代码且没有任何特殊字符和空格的电话号码。即纯电话号码。但是我的通讯录电话号码格式不同,比如这些

"+91 99-70-044099",
"*125#",
"+91 8605-681220",
"+919975806164",
9822771881,
02026697467,
"+**62*+91675#",
"+91 80-87177718",
"\U202a+91 81 49 753637\U202c",
"8308-412345",
"094-19-241898",
"*123*7#",
"+6596913434",
7898989876565657

为了使这些没有特殊字符和空格,我做了以下代码

NSError *error;
NSDataDetector *detector = [NSDataDetector dataDetectorWithTypes:NSTextCheckingTypePhoneNumber
error:&error];
NSUInteger phoneValidates = [detector numberOfMatchesInString:phoneNumber
options:0
range:NSMakeRange(0, [phoneNumber length])];
// NSLog(@"res=%d",phoneValidates);

if (phoneValidates)
{

NSLog(@"yes it is phone number %@",phoneNumber);
NSString *str = [phoneNumber stringByReplacingOccurrencesOfString:@"+" withString:@"" ];
NSLog(@"after=%@",str);
str = [str stringByReplacingOccurrencesOfString:@" " withString:@"" ];
NSLog(@"after=%@",str);
str = [str stringByReplacingOccurrencesOfString:@"-" withString:@"" ];
NSLog(@"after=%@",str);
str = [str stringByReplacingOccurrencesOfString:@"\\U202a" withString:@"" ];
NSLog(@"after=%@",str);

str = [str stringByReplacingOccurrencesOfString:@"\\U202c" withString:@"" ];
NSLog(@"after=%@",str);

[arr_contact addObject:str];
}

即使通过上面的代码,数组也包含以下格式的数字

"\U202a918149753637\U202c", 

如何去除这些字符?如何从中获取唯一数字。
有些号码带有国家代码,那么如何删除国家代码,我的问题是91 是我的国家代码,但我也有一些以 91 开头的数字,即实数,而不是国家代码。我还必须检查所有类型的国家/地区代码。

最佳答案

NSString * strippedNumber =
[mobileNumber stringByReplacingOccurrencesOfString:@"[^0-9]"
withString:@""
options:NSRegularExpressionSearch
range:NSMakeRange(0, [mobileNumber length])];

关于ios - 删除 iOS 中不需要的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20062362/

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