zoukankan      html  css  js  c++  java
  • OC-字符串中大小写字母转换

    一般语言中的大小写转换都会提供的有默认的函数,不过闲来无事,简单的模仿实现了一下:

    系统中默认的大小写转换:

            NSString  *name=@"博客园-FlyElephant";
            NSString  *url=@"博客地址:http://www.cnblogs.com/xiaofeixiang";
            NSLog(@"转换为小写字符串:%@",[name lowercaseString]);
            NSLog(@"转换为大写字符串:%@",[url uppercaseString]);
    


    如果自己实现的话,需要考虑一下ASCII码,大小写之间的差值是32,A是65,a是97,其他依此类推:

    -(NSString *)toLower:(NSString *)str{
        for (NSInteger i=0; i<str.length; i++) {
            if ([str characterAtIndex:i]>='A'&[str characterAtIndex:i]<='Z') {
                //A  65  a  97
                char  temp=[str characterAtIndex:i]+32;
                NSRange range=NSMakeRange(i, 1);
                str=[str stringByReplacingCharactersInRange:range withString:[NSString stringWithFormat:@"%c",temp]];
            }
        }
        return str;
    }
    
    -(NSString *)toUpper:(NSString *)str{
        for (NSInteger i=0; i<str.length; i++) {
            if ([str characterAtIndex:i]>='a'&[str characterAtIndex:i]<='z') {
                //A  65  a  97
                char  temp=[str characterAtIndex:i]-32;
                NSRange range=NSMakeRange(i, 1);
                str=[str stringByReplacingCharactersInRange:range withString:[NSString stringWithFormat:@"%c",temp]];
            }
        }
        return str;
    }
    

    调用一下也很简单:

            NSStringUtil  *util=[[NSStringUtil alloc]init];
            NSLog(@"小写转换:%@",[util toLower:name]);
            NSLog(@"大写转换:%@",[util toUpper:url]);
    

    效果如下:

  • 相关阅读:
    Gitlab的安装
    转 Java操作PDF之iText详细入门
    ElasticSearch聚合(转)
    谷歌搜索技巧(转)https://www.runningcheese.com/google
    自学elastic search
    WinForm richtextbox 关键字变红色
    https采集12306(复制)
    LTS
    学习Android MediaPlayer
    UML基础知识
  • 原文地址:https://www.cnblogs.com/xiaofeixiang/p/4615266.html
Copyright © 2011-2022 走看看