美文网首页iOS
iOS 去除通讯录手机号码中的特殊字符

iOS 去除通讯录手机号码中的特殊字符

作者: 一亩三分甜 | 来源:发表于2019-04-14 21:09 被阅读0次

获取App中通讯录联系人到输入框中,发现有时自带有特殊字符类似于空格(其实不是空格字符),横线。通过 [text stringByReplacingOccurrencesOfString:@" " withString:@""]方法发现根本无法去除。

  • 方法一去除"空格",无效。可以去掉所有真正的空格。
NSLog(@"去除空格------------%@---------",[self getFormatText:@" 135 6666 6666 "]);
- (NSString *)getFormatText:(NSString*)string{
    NSString* text = string;
    return [text stringByReplacingOccurrencesOfString:@" " withString:@""];
}

去除空格------------135 6666 6666---------
  • 方法二去除"空格",无效。可以去掉所有的真正的空格。
NSLog(@"去除空格000000000000%@---------",[self removeSpaceAndNewline:@" 135 6666 6666 "]);
- (NSString *)removeSpaceAndNewline:(NSString *)str
{
    NSString *temp = [str stringByReplacingOccurrencesOfString:@" " withString:@""];
    temp = [temp stringByReplacingOccurrencesOfString:@"\r" withString:@""];
    temp = [temp stringByReplacingOccurrencesOfString:@"\n" withString:@""];
    return temp;
}
去除空格000000000000135 6666 6666---------
  • 方法三去除"空格",无效。可以去掉字符串两端的空格及回车。
    NSLog(@"去除空格111111111111%@---------",[self removeSpaceAndNewline1:@" 135 6666 6666 "]);
    - (NSString *)removeSpaceAndNewline1:(NSString *)str
{
    NSString *temp = [str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
    NSString *text = [temp stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet ]];
    return text;
}
  • 方法四去除"空格",有效。可以去掉字符串中的空格。
NSLog(@"去除空格222222222222%@---------",[self removeSpaceAndNewline2:@" 135 6666 6666 "]);
- (NSString *)removeSpaceAndNewline2:(NSString *)str
{
    return [[str componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] componentsJoinedByString:@""];
}
去除空格22222222222213566666666---------
  • 方法五去除"空格",有效。去除字符串中所有除数字以外的字符。
    NSLog(@"去除空格333333333333%@---------",[self removeSpaceAndNewline3:@" 135 6666 6666 "]);
    - (NSString *)removeSpaceAndNewline3:(NSString *)str
{
    NSCharacterSet *setToRemove = [[ NSCharacterSet characterSetWithCharactersInString:@"0123456789"]invertedSet];
    NSString *strPhone  = [[str componentsSeparatedByCharactersInSet:setToRemove] componentsJoinedByString:@""];
    return strPhone;
}
去除空格33333333333313566666666---------

相关文章

网友评论

    本文标题:iOS 去除通讯录手机号码中的特殊字符

    本文链接:https://www.haomeiwen.com/subject/piqewqtx.html