Foundation_NSString_计算字符长度和个数

  • 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; i
    
    NSRange 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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值