- (void)contactPicker:(CNContactPickerViewController *)picker didSelectContactProperty:(CNContactProperty *)contactProperty;
{
[self dismissViewControllerAnimated:YES completion: nil];
CNLabeledValue *phoneNumberValue = contactProperty.value;
NSString *contactString = [phoneNumberValue valueForKey:@"_stringValue"];
contactString = [contactString stringByReplacingOccurrencesOfString:@"-" withString:@""];
contactString = [contactString stringByReplacingOccurrencesOfString:@" " withString:@""]; // This line of code is not working properly
contactString = [contactString stringByReplacingOccurrencesOfString:@"(" withString:@""];
contactString = [contactString stringByReplacingOccurrencesOfString:@")" withString:@""];
txtRecipient.text = contactString;
}
这是我的代码。我正在使用contactPicker从电话簿中选择一个联系人。然后我将它存储到字符串变量中。之后,我使用stringByReplacingOccurrencesOfString从字符串值中删除破折号,括号和空格。除了这一行,每件事情都很好:
contactString = [contactString stringByReplacingOccurrencesOfString:@" " withString:@""];
在这行代码之后,contactString保持不变,即空格没有从字符串中删除。我也试过componentsSeparatedByString
函数,但它只返回1个字符。即,
NSArray *components = [dateString componentsSeparatedByString:@" "];
components.length返回1。
希望你理解我的问题。有没有其他方法可以从字符串中删除空格?任何形式的帮助都是值得的。感谢。
答案 0 :(得分:1)
看起来这不是标准空间。 试试这个:
NSMutableCharacterSet* set = [NSMutableCharacterSet whitespaceCharacterSet];
[set addCharactersInString:@"()-"];
NSMutableString * contactString = [[phoneNumberValue valueForKey:@"_stringValue"] mutableCopy];
NSRange range;
while ((range = [contactString rangeOfCharacterFromSet:set]).location!=NSNotFound) {
[contactString deleteCharactersInRange:range];
}