去除字符串的首尾空格字符

来源:互联网 发布:手机ftp软件 编辑:程序博客网 时间:2024/05/16 23:44

在文本框中输入字符时,经常需要过滤掉首尾的空格字符。这是一个比较常用的功能,特总结分享一个处理的函数,返回删除首尾空格后的字符串,供查询和备用。

//Remove space char(s) at the beginning and the end of string+ (NSString *)trimHeaderTrailSpace:(NSString *)target{    if(!target) {        return @"";    }    NSMutableString *result = [[NSMutableString alloc] initWithString:target];    unichar charTemp;    //Step 1: Remove space chars at the end of string    for(NSInteger i = ([result length]-1); i >= 0; i--){        charTemp =  [result characterAtIndex:i];        if([self isSpaceChar:charTemp])            [result replaceCharactersInRange:NSMakeRange(i, 1) withString:@""];        else            break;    }    // Step 2: Remove space chars at the beginning of string    // Step 2.1: We need to count the number of space chars at the beginning first    int sumOfSpace = 0;    for(int j = 0; j < [result length]; j++){        charTemp =  [result characterAtIndex:j];        if([self isSpaceChar:charTemp])            sumOfSpace++;        else            break;    }    // Step 2.2: Remove space chars at the begging of string    if (0 != sumOfSpace) {        [result replaceCharactersInRange:NSMakeRange(0, sumOfSpace) withString:@""];    }    NSString *resultString = [NSString stringWithString:result];    return resultString;}+ (BOOL) isSpaceChar:(uinchar)char {    if (char  == ' ' || char == '\r' || char =='\n') {        return YES;    }     return NO;}

算法的复杂度为O(n),一次扫描即可完成替换。

0 0