把一个有规律的字符串分成一句话,首字母大写其他小写
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;
}
给定一个字符串,按单词分开,单词是全大写或全小写,
转换时首字母大写,其余全部转换为小写,并用空格隔开(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;
}
相关文章推荐
- sso
- HTTP Header 详解
- 最小生成树之算法记录【prime算法+Kruskal算法】【模板】
- android studio 怎么调整字体
- poj2406 power strings 【KMP】
- 从C调用Lua
- JDK安装
- 游戏最高渲染帧率的垂直同步方式-----显示器的垂直刷新率
- 最小生成树之算法记录【prime算法+Kruskal算法】【模板】
- 异步时钟的同步化,俗称“慢打一拍",寄存一拍
- arpwatch
- java 多线程读取多个文件 和 不用线程读取多个文件
- Cause: java.sql.SQLException: Bad format for Time '308:42:13' in column
- HttpContext.Current.User.Identity.Name获得不了登录名
- 通过mmap函数快速实现文件复制
- hdu 5358 First One (2015多校第六场第6题)尺取法枚举区间和
- Android单元测试时如何使用log查看输出结果
- c#中动态对象的RuntimeTypeHandle
- Android 自定义 HorizontalScrollView 打造再多图片(控件)也不怕 OOM 的横向滑动效果
- Spring : 征服数据库 (两)