从本机联系人复制号码会产生奇怪的结果
Copying a number from native contacts gives weird results
我从本机地址簿中复制了一个号码,它的开头和结尾可能有 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
当我使用它显示的调试器调试数字时
如何从我的 NSString 中删除前面和结尾的字符?
谢谢
您在字符串中看到的代码用于处理文本方向。 \U202d
是 "LEFT-TO-RIGHT OVERRIDE" 字符,\U202c
是 "POP DIRECTIONAL FORMATTING" 字符。
您不能使用 whitespaceAndNewlineCharacterSet
删除它们,因为它们不是空格。但它们是控制代码,可以使用 controlCharacterSet
.
删除它们
phoneNumber = [phoneNumber stringByTrimmingCharactersInSet:[NSCharacterSet controlCharacterSet]];
我从本机地址簿中复制了一个号码,它的开头和结尾可能有 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
当我使用它显示的调试器调试数字时
如何从我的 NSString 中删除前面和结尾的字符?
谢谢
您在字符串中看到的代码用于处理文本方向。 \U202d
是 "LEFT-TO-RIGHT OVERRIDE" 字符,\U202c
是 "POP DIRECTIONAL FORMATTING" 字符。
您不能使用 whitespaceAndNewlineCharacterSet
删除它们,因为它们不是空格。但它们是控制代码,可以使用 controlCharacterSet
.
phoneNumber = [phoneNumber stringByTrimmingCharactersInSet:[NSCharacterSet controlCharacterSet]];