20150611_OC字符串NSString,NSMutableString练习
来源:互联网 发布:redis和mysql的结合 编辑:程序博客网 时间:2024/06/05 17:32
本文的目的主要是练习使用OC中的两个字符串:
StringOperation.h文件:
//// StringOperation.h// IOS150610_OC_字符串练习//// Created by qianfeng on 15/6/10.// Copyright (c) 2015年 Peng Junlong. All rights reserved.//#import <Foundation/Foundation.h>@interface StringOperation : NSObject+(NSString*)reveserString:(NSString*)srcStr;+ (NSString *)compressString:(NSString *)srcStr;+ (NSString *)sortString:(NSString *)srcStr;+ (NSString *)reverCharacter:(NSString *)srcStr;+ (NSString *)replaceString:(NSString *)srcStr betweenStartKey:(NSString* )startKey andEndKey:(NSString*)endKey;+(NSInteger)subStringCount:(NSString*)srcStr findStr:(NSString*)findStr;@end
StringOperation.m文件:
//// StringOperation.m// IOS150610_OC_字符串练习//// Created by qianfeng on 15/6/10.// Copyright (c) 2015年 Peng Junlong. All rights reserved.//#import "StringOperation.h"@implementation StringOperation//将传入的字符串逆序//比如输入 @"abcdef"输出@"fedcba"+(NSString*)reveserString:(NSString*)srcStr{ NSInteger len = [srcStr length]; unichar ch; NSString *dest = @""; for (NSInteger i=len-1; i>=0; i--) { ch = [srcStr characterAtIndex:i]; dest = [dest stringByAppendingFormat:@"%C",ch]; } return dest;}//压缩字符串//比如输入@"aaabbbcceaa" 输出@"3a3b2c1e2a"+ (NSString *)compressString:(NSString *)srcStr{ NSInteger len = [srcStr length]; unichar ch; NSString *dest = @""; NSInteger count = 1; NSInteger j; for (NSInteger i=0; i<len;) { ch = [srcStr characterAtIndex:i]; count = 1; for (j=i+1; j<len; j++) { if (ch == [srcStr characterAtIndex:j]) { count++; } else { break; } } i=j; dest = [dest stringByAppendingFormat:@"%ld%C",count,ch]; } return dest;}//对字符串按字母顺序进行排序//比如输入@"aczabczab" 输出@"aaabbcczz"+ (NSString *)sortString:(NSString *)srcStr{ NSInteger len = [srcStr length]; NSString *temCh; NSString *temCh1; for (NSInteger i=0; i<len-1; i++) { for (NSInteger j = 0; j<len-i-1; j++) { if ([srcStr characterAtIndex:j] > [srcStr characterAtIndex:j+1]) { temCh =[NSString stringWithFormat:@"%C",[srcStr characterAtIndex:j]]; temCh1 =[NSString stringWithFormat:@"%C",[srcStr characterAtIndex:j+1]]; srcStr = [srcStr stringByReplacingCharactersInRange:NSMakeRange(j, 1) withString:temCh1]; srcStr = [srcStr stringByReplacingCharactersInRange:NSMakeRange(j+1, 1) withString:temCh]; } } } return srcStr;}//将原字符串进行小写转大写,大写转小写//比如输入 @"aBCdEfGA" 输出 @"AbcDeFga"+ (NSString *)reverCharacter:(NSString *)srcStr{ NSInteger len = [srcStr length]; unichar ch; NSString *dest = @""; for (NSInteger i=0; i<len;i++) { ch = [srcStr characterAtIndex:i]; if (ch >= 'a' && ch <= 'z') { ch = ch-32; } else{ ch = ch + 32; } dest = [dest stringByAppendingFormat:@"%C",ch]; } return dest;}// 替换字符串srcStr中从startKey到endKey之间的字符串//返回结果//比如输入srcStr=@"abc da abbc cde f" startKey=@"da" endKey=@"cde" 输出 @"abbc"+ (NSString *)replaceString:(NSString *)srcStr betweenStartKey:(NSString* )startKey andEndKey:(NSString*)endKey{ NSRange rangeStart = [srcStr rangeOfString:startKey]; NSRange rangeEnd = [srcStr rangeOfString:endKey]; NSString *subStr = [srcStr substringWithRange:NSMakeRange(rangeStart.location+rangeStart.length+1, rangeEnd.location-rangeStart.location-rangeStart.length-2)]; return subStr;}// 返回字符串srcStr中出现子串findStr的次数//helloworldhelloworldhello hello+(NSInteger)subStringCount:(NSString*)srcStr findStr:(NSString*)findStr{ NSString *dest = srcStr; NSRange range; NSInteger count = 0; range = [dest rangeOfString:findStr]; while (range.location != NSNotFound) { count++; dest = [dest substringFromIndex:range.location+[findStr length]]; range = [dest rangeOfString:findStr]; } return count;}@end
main.m主方法:
//// main.m// IOS150610_OC_字符串练习//// Created by qianfeng on 15/6/10.// Copyright (c) 2015年 Peng Junlong. All rights reserved.//#import <Foundation/Foundation.h>#import "StringOperation.h"int main(int argc, const char * argv[]) { @autoreleasepool { // 3. 现有字符串@"Welcome to Bejing."// 提取第3个到第6个字符. NSString *subStr4 = [str4 substringWithRange:NSMakeRange(2, 4)]; NSLog(@"subString = %@",subStr4); // 4. 现有字符串@"When I was young, I loved a girl on neighbor class."// 要求不通过点数,从was提取到girl。 NSString *str5 = @"When I was young, I loved a girl on neighbor class."; NSRange rangeWas = [str5 rangeOfString:@"was"]; NSRange rangeGirl = [str5 rangeOfString:@"girl"]; if(rangeWas.location != NSNotFound && rangeGirl.location != NSNotFound && rangeWas.location < rangeGirl.location) { str5 = [str5 substringWithRange:NSMakeRange(rangeWas.location, rangeGirl.location-rangeWas.location+rangeGirl.length)]; } NSLog(@"substring = %@",str5); // Welcome to Qianfeng.// 删除to这个词。 NSMutableString *str6 = [NSMutableString stringWithString: @"Welcome to Qianfeng."]; NSRange range1 = [str6 rangeOfString:@"to"]; [str6 deleteCharactersInRange:range1]; NSLog(@"str6 = %@",str6); // 6. Hello world两个单词间插入China NSMutableString *str7 = [NSMutableString stringWithUTF8String:"Hello world"]; [str7 insertString:@"China" atIndex:6]; NSLog(@"str7= %@",str7); // 7. 现有字符串@"When I was young, I loved a girl on neighbor class. "// 从young到girl,改成@"teacher, I rather teaching the students" NSString *str8 = @"When I was young, I loved a girl on neighbor class. "; NSRange rangeYoung = [str8 rangeOfString:@"young"]; NSRange rangeG = [str8 rangeOfString:@"girl"]; if(rangeYoung.location != NSNotFound && rangeG.location != NSNotFound && rangeYoung.location < rangeG.location) { str8 = [str8 stringByReplacingCharactersInRange:NSMakeRange(rangeYoung.location, rangeG.location-rangeYoung.location +rangeG.length) withString:@"teacher, I rather teaching the students"]; } NSLog(@"str8 = %@",str8); //将传入的字符串逆序 //比如输入 @"abcdef"输出@"fedcba" //+(NSString*)reveserString:(NSString*)srcStr; NSLog(@"%@",[StringOperation reveserString:@"abcdef"]); NSLog(@"%@",[StringOperation compressString:@"aaabbbcceaaaad"]); NSLog(@"%@",[StringOperation sortString:@"aczabczab"]); NSLog(@"%@",[StringOperation reverCharacter:@"aBCdEfGA"]); NSLog(@"%@",[StringOperation replaceString:@"abc da abbc cde f" betweenStartKey:@"da" andEndKey:@"cde"]); NSLog(@"%ld",[StringOperation subStringCount:@"helloworldhelloworldhello" findStr:@"hello"]); }
<span style="white-space:pre"></span>return 0;
}
1 0
- 20150611_OC字符串NSString,NSMutableString练习
- NSString / NSMutableString 字符串处理
- 字符串:NSString 和 NSMutableString
- OC语言--字符串(NSString& NSMutableString)
- NSString / NSMutableString 字符串处理,常用代码 (实例)
- NSString / NSMutableString 字符串处理,常用代码 (实例)
- NSString / NSMutableString 字符串处理,常用代码 (实例)
- NSString / NSMutableString 字符串处理,常用代码 (实例)
- NSString / NSMutableString 字符串处理,常用代码 (实例)
- NSString / NSMutableString 字符串处理,常用代码 (实例)
- NSString / NSMutableString 字符串处理,常用代码 (实例)
- Object-c 中字符串NSString、NSMutableString总结
- NSString / NSMutableString 字符串处理,常用代码 (实例)
- OC-字符串常用操作(NSString、NSMutableString)
- Objective-C: 字符串NSString与NSMutableString
- NSString / NSMutableString 字符串处理,常用代码
- 【Foundation】17-字符串NSString和NSMutableString
- Foundation框架中的字符串(NSString/NSMutableString)
- 网络协议之NTP
- scheduleAtFixedRate定时任务超时问题
- CoreSeek学习笔记
- 图片--下拉放大
- 颜色空间之CIE色度模型
- 20150611_OC字符串NSString,NSMutableString练习
- 那些成功学和鸡汤文没有告诉你的事(作者功底很深厚啊,不得不赞)
- mysql 表如果 key相同则累加,不相同则插入
- 指针数组的应用
- require(),include(),require_once()和include_once()区别
- mybatis作if判断注意
- [html]事件处理addEventListener详解
- Android颜色透明度
- Android学习 4 -> 布局结构的学习