Foundation_NSString_计算字符长度和个数

来源:互联网 发布:复杂网络理论有什么用 编辑:程序博客网 时间:2024/05/20 16:43
  • 1.计算字符串的长度</span>
  • (int)textLength:(NSString *)text//计算字符串长度 { float number = 0.0; for (int index = 0; index < [text length]; index++) { NSString *character = [text substringWithRange:NSMakeRange(index, 1)];if ([character lengthOfBytesUsingEncoding:NSUTF8StringEncoding] == 3){    number++;}else{    number = number + 0.5;}} return ceil(number); }

    2.判断是字母还是汉字

  • //输入的昵称是字母还是汉字,判断是否合格if(self.nickNameText){for (int i=0; iNSRange range=NSMakeRange(i,1);NSString *subString=[self.nickNameText substringWithRange:range];const char *cString=[subString UTF8String];if (strlen(cString)==3){NSLog(@”昵称是汉字”);if(self.nickNameText.length<2||self.nickNameText.length>8){UIAlertView *alertView=[[UIAlertView alloc]initWithTitle:@”不要输入低于2个或者高于8个” message:@”您输入的昵称格式有误,请重新输入” delegate:self cancelButtonTitle:@”取消” otherButtonTitles:@”确定”, nil];[alertView show];return;}}else if(strlen(cString)==1){NSLog(@”昵称是字母”);if(self.nickNameText.length<4||self.nickNameText.length>16){UIAlertView *alertView=[[UIAlertView alloc]initWithTitle:@”不要输入低于4个或者高于16个” message:@”您输入的昵称格式有误” delegate:self cancelButtonTitle:@”取消” otherButtonTitles:@”确定”, nil];[alertView show];return;}}}}

    3.-(unichar)characterAtIndex:(NSUInteger)index;

4.example:
-(NSString*)filterWithString:(NSString*)string{    if (!self.keyArray) {        return string;    }    NSString * copyString = [string copy];    for (NSString*keyString in self.keyArray) {        if ([copyString isEqualToString:keyString]) {            NSString*filter = [@"*" stringByPaddingToLength:copyString.length withString:@"*" startingAtIndex:0];            return filter;        }    }    return string;}


5.搜索是否包含某词
NSString *str1 = @"can you \n speak English";      NSString *str = @"\n";      //在str1这个字符串中搜索\n,判断有没有      if ([str1 rangeOfString:str].location != NSNotFound) {          NSLog(@"这个字符串中有\n");      }      //rangeOfString 前面的参数是要被搜索的字符串,后面的是要搜索的字符      //NSNotFound 表示请求操作的某个内容或者item没有发现,或者不存在  


+ (NSString *)stringOutPutUrlWithUrl: (NSString *)url Appid:(NSString *)appid SecretKey:(NSString *)key{        NSMutableString *idstring = [[NSMutableString alloc] initWithString:url];        if ([url rangeOfString:@"?"].length > 0) {        [idstring appendFormat:@"&app_id=%@", appid];    } else {        [idstring appendFormat:@"?app_id=%@", appid];    }            NSURL *originalurl = [NSURL URLWithString:idstring];        NSString *stringA = [originalurl path];        NSString *paramstr = [originalurl query];    NSArray *paramarr = [paramstr componentsSeparatedByString:@"&"];    NSMutableArray *namearr = [[NSMutableArray alloc] init];    NSMutableDictionary *sortDic = [[NSMutableDictionary alloc] init];    for (NSString *string1 in paramarr) {        NSArray *array = [string1 componentsSeparatedByString:@"="];        NSString *name = array[0];        [namearr addObject:name];        [sortDic setObject:array[1] forKey:name];    }        NSArray *sortedArray = [namearr sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {        NSComparisonResult result = [obj1 compare:obj2];        return result == NSOrderedDescending;    }];            NSMutableString *stringBnew = [[NSMutableString alloc] init];    for (NSString *strname in sortedArray) {        [stringBnew appendFormat:@"%@=%@&", strname, sortDic[strname]];    }        NSString *stringB = [stringBnew substringToIndex:(stringBnew.length - 1)];      NSString *stringC = key;        int timestamp = (int)[[NSDate date] timeIntervalSince1970];    NSString *stringD = [NSString stringWithFormat:@"%@",[[NSString alloc] initWithFormat:@"%1x", timestamp]];        NSString *stringE = [NSString stringWithFormat:@"%@&%@&%@&%@", stringA, stringB, stringC, stringD];    NSString *stringF = [[self sha1:stringE] lowercaseString];    NSString *stringG = [NSString stringWithFormat:@"%@%@",stringF, stringD];        NSString *finalUrl = [NSString stringWithFormat:@"%@?%@&sign=%@", [idstring componentsSeparatedByString:@"?"][0], stringB, stringG];    return finalUrl;}

可变字符串:
http://blog.sina.com.cn/s/blog_465a08fe01010xai.html


0 0