您的位置:首页 > 其它

把一个有规律的字符串分成一句话,首字母大写其他小写

2015-08-07 16:13 246 查看
//  Copyright (c) 2015年 JWC. All rights reserved

给定一个字符串,按单词分开,单词是全大写或全小写,

 转换时首字母大写,其余全部转换为小写,并用空格隔开(15分)

 传入:@"whereTHEREisAwillTHEREisAway"

 返回:@"Where there is a will there is a way"

 */

-(NSString *)printByWord:(NSString *)str{

    NSMutableString  *muStr = [NSMutableString stringWithString:str];

    for (int i = 0; i < muStr.length-1; i++) {

        //如果第i位为小写第i+1位为大写,或者如果第i+1位为小写第i位为大写,则在第i+1位处插入一个空格

        if ((([muStr characterAtIndex:i] >= 'A'&& [muStr characterAtIndex:i ] <= 'Z' )&&([muStr characterAtIndex:i+1]>= 'a'&&[muStr characterAtIndex:i+1] <= 'z'))|| (( [muStr characterAtIndex:i+1] >= 'A'&& [muStr characterAtIndex:i+1 ] <= 'Z' )&&([muStr characterAtIndex:i]>=
'a'&&[muStr characterAtIndex:i] <= 'z'))) {

            [muStr insertString:@" " atIndex:i+1];

        }

    }

//    NSLog(@"heheh=%c",([muStr characterAtIndex:0]-32) );

    

    //for循环来遍历字符串,获取字符串的每一个字符判断大小写

    for (int i = 1; i < muStr.length; i++) {

        //判断第一个字符是否是小写,如果是小写则换成大写,如果是大写则不变

        if ([muStr characterAtIndex:0] > 'a'&& [muStr characterAtIndex:0]<='z') {

            [muStr replaceCharactersInRange:NSMakeRange(0, 1) withString:[NSString stringWithFormat:@"%c",[muStr characterAtIndex:0]-32]];

        }

        //判断除了第一个字符之后的字符,如果为大写则换成小写

        if ([muStr characterAtIndex:i] >= 'A'&&[muStr characterAtIndex:i]<='Z') {

            [muStr replaceCharactersInRange:NSMakeRange(i, 1) withString:[NSString stringWithFormat:@"%c",[muStr characterAtIndex:i]+32]];

        }

    }

    return muStr;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: