1。创建NSString:
法1:不需要内存管理
NSString *aString = @"abcd!";
法2:不需要内存管理
//+(id)stringWithFormat:(NSString *)fomat,...;
NSString *height;
height = [NSString stringWithFormat:@"your height is %d feet,%d inches",5,11];
NSLog(@"%@",height);
stringWithFormat是一个类方法,通过格式字符串和参数来创建NSString
oc生成一个类时,会创建一个代表该类的类对象。
类对象包含了指向超类的指针,类名和指向类方法列表的指针。
类对象还包含一个long型数据,为新创建的类实例对象指定大小。
法3:需要内存管理
NSString *aString = [[NSString alloc]initWithFormat:@"abcd!"];
NSLog(@"%@",aString);
[aString release];//释放
一个alloc 一个new 一个copy 对应一个release
1.从一个文件读取需要的内容(本地):
- (id)initWithContentsOfFile:(NSString *)path usedEncoding:(NSStringEncoding *)enc error:(NSError **)error;
2.从一个地址读取需要的内容(远程、网络):
- (id)initWithContentsOfURL:(NSURL *)url usedEncoding:(NSStringEncoding *)enc error:(NSError **)error;
//如果和alloc成对使用时,需要内存管理。
-(unsigned int)length;
返回字符串的字符个数
优势:
能准确的处理国际字符串。(汉语,韩语,日语)
4.拷贝字符串
+ (id)stringWithString:(NSString *)string;
NSString *myString = @"this is an exasd";
NSString *newString =[NSString stringWithString:myString];
NSLog(@"%@",newString);
5.
NSString的比较方法
方法1:
函数
isEqualToString:(NSString *)
比较两个字符串的指针指向的内容
==
比较指针地址是否相等,而不是他们所指向的对象。
方法2:
- (NSComparisonResult)compare:(NSString *)string options:(NSStringCompareOptions)mask;
作用:
将接受对象和传递来的字符串逐个字符地进行比较,返回一个
NSComparisonResult(enum型数据)显示比较结果。
enum _NSComparisonResult {NSOrderedAscending = -1, NSOrderedSame, NSOrderedDescending};
参数说明:
options参数是一个位掩码,可以使用位或运算符(|)来添加选项标记。
6.
根据分隔符,把字符分割
NSString *a1 =@"this,is,a,String";
NSArray *strings = [a1 componentsSeparatedByString:@","];
结果:
得到一个数组 strings{"this","is","a","String"};
连接字符串
NSArray *strings = [[NSArray alloc]initWithObjects:@"a","b","c", nil];
NSString *a1 = [strings componentsJoinedByString:@","];
结果:
得到一个字符串 a1 = @"a,b,c”
7.在字符串中查找另一个字符串
//检查方法调用字符串是否以参数字符串开头
- (BOOL)hasPrefix:(NSString *)aString;
//检查方法调用字符串是否以参数字符串结尾
- (BOOL)hasSuffix:(NSString *)aString;
//检查方法调用字符串是否包含参数字符串
- (NSRange)rangeOfString:(NSString *)aString;
8.子字符串操作
//
NSString *string =@"John,Bob,Jane";
- (NSString *)substringFromIndex:(NSUInteger)from;
//得到开始地to个字符
- (NSString *)substringToIndex:(NSUInteger)to;
//得到从第几个开始地,几个字符
- (NSString *)substringWithRange:(NSRange)range;
9。删除对象
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[])
{
NSMutableString *friends;
friends = [NSMutableString stringWithCapacity:52];
[friends appendString:@"James BethLynn Jack Evan"];
NSRange jackRange;
jackRange = [friends rangeOfString:@"Jack"];
jackRange.length++;//把后面的空格也去掉
[friends deleteCharactersInRange:jackRange];
NSLog(@"%@",friends);
return 0;
}