从本机联系人复制号码会产生奇怪的结果

时间:2017-11-23 14:11:12

标签: ios objective-c xcode nsstring

我从本地地址簿中复制了一个数字,它的开头和结尾可能有UTF-8字符

NSString *phoneNumber = @"‭+488778689898‬";
NSLog(@"phonenumber.length --> %lu", (unsigned long)phoneNumber.length); //Prints 15
BOOL hasPlusPrefix = [phoneNumber hasPrefix:@"+"];
NSLog(@"hasPrefix -->%d", hasPlusPrefix); // Prints 0

当我使用它显示的调试器调试数字时 enter image description here

如何从NSString中删除前面和末尾的字符。?

由于

1 个答案:

答案 0 :(得分:1)

您在字符串中看到的代码用于处理文本方向。 \U202d是"左右覆盖"字符和\U202c是" POP方向格式化"字符。

您无法使用whitespaceAndNewlineCharacterSet删除它们,因为它们不是空格。但它们是控制代码,可以使用controlCharacterSet删除它们。

phoneNumber = [phoneNumber stringByTrimmingCharactersInSet:[NSCharacterSet controlCharacterSet]];