objective-c 编程总结,第一篇字符串操作

学习objective-c的编程有一阵子了,现在总算告一段落了。下一步该进行iOS下编程的学习。再次之前,为了避免忘记,决定用几天的时间,将之前学过的东西总结一下,省的忘记了。

对于简单的语法,例如类的创建、init方法的重写,以及属性定义什么的,常常用到,忘记的可能性很小,就懒得写了。今天首先从字符串的操作开始。

对于字符串的操作,总结有以下几点:

1. 字符串常量NSString * string = @"content"; 以及 [NSString stringWithString]创建的字符串是永远都不能被release的。如果是大段的字符串常量内容,最好放在资源文件中进行读取,而不要在程序中直接通过常量来定义。

2. 字符串的查找:

NSRange range = [str rangeOfString:searchingString];

3. 字符串的替换:

//find: searching for.

//rpl: the replacement.

NSString * source = [NSString stringWithCString:"asdfasdfasdf" withEncoding:NSUTF8StringEncoding];

NSMutableString * mul = [source mutableCopy];

NSString * result = [mul stringByReplacingOccurrancesOfString:find withString:rpl];

4. 将字符串按照某个字符来进行分割。始终认为这个名字起的非常怪异。

NSArray * ary = [[@"1,2,3,4" componentsSeperatedByString:@","]];// 将会得到数组[@"1", @"2", @"3", @"4"];

5. 将字符串进行trim:

NSCharacterSet * chset = [NSCharacterSet charactorSetWithCharactersInString:@" "];

NSString * str = [@" ct" stringByTrimmingCharactersInSet:chset];//将会得到@“ct";多说一句,如果离开xcode的代码提示和自动完成功能,这个真没法活了。看来当初apple被微软挤兑也不是没有道理的。

6. 得到除了那几个标准的NS编码以外的其他编码:

NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);//得到GB2312的编码类。

其他的还有ANSI什么的,就不写了,只要记住使用CFStringConvertEncodingToNSStringEncoding这个函数,以及kCFStringEncoding这个开头就行了,都可以在CFStringEncodingExt.h这个头文件中查到。