object-c 基础十二 【NSString】

1、声明一个字符串常量

NSString *str = @“snms";

2、通过一个已知的字符串生成一个字符串常量

NSString  *str2 = [ [NSString alloc] initWithString:str ]

3、用一个c语言的字符串,生成一个oc字符串

NSString *str3 = [ [NSString alloc] initWithUTF8String:"hello snms" ]

4、拼接字符串

NSString *str4 = [[ NSString alloc] initWithFormat:@"hello %c ,well come to object-C %@","snms",@"world!"]

结果:str4 = hello snms ,well come to object-C world!

------------以上是对象方法【-方法】--------------

------------以下是类方法   【+方法】--------------

对象需要实例化,分配内存,而类不需要,所有去掉对象方法中的alloc;

1、通过一个已知的字符串生成一个字符串常量

NSString  *str2 = [ [NSString initWithString:str ]

2、用一个c语言的字符串,生成一个oc字符串

NSString *str3 = [ [NSString initWithUTF8String:"hello snms" ]

3、拼接字符串

NSString *str4 = [[ NSString initWithFormat:@"hello %c ,well come to object-C %@","snms",@"world!"]

结果:str4 = hello snms ,well come to object-C world!

------------以下是NSString的一些方法--------------

1、判断两个字符串是否相等

BOOL ret = [ str1 isEqualToString:str2]

相等:返回1,反之0

2、比较两个字符串大小

NSComparisonResult result = [str compare str2];

if(result == NSOrderedAscending){

说明是升序

}else if(result == NSOrderedDescending){

说明是降序

}else if (result == NSOrderedSame){

说明相等

}

3、截取字符串

NSString *snms = [str substringToIndex:6]

//从第0位开始向后截取字符串,得到新的字符串,原字符串不变;

//6表示截取到第六位,不包含第六位,从0位开始开始;

NSString *snms = [str substringFromIndex:6]

//从哪里开始向后截取字符串,得到新的字符串,原字符串不变;

//6表示从第六位开始,包括第六位,截取后面的所有字符;

NSString *snms = [str substringWithRange:NSMakeRange(6,2)]

//指定范围截取字符串,得到新的字符串,原字符串不变;

//6表示从第六位开始(包括第六位),向后截取2位,从0位开始;

4、判断字符串2在字符串1中出现的位置范围

NSRange range = [str1 rangeOfString:str2];

//得到的结果是个结构体,结构体是需要拆开进行打印,否则打印出的就是null

NSLog(@"location is %d,length is %zd",range.location,range.length)

//结果:location is 0,length is 5   等等,如果length=0说明字符串2在字符串1中没有出现过;

你可能感兴趣的:(object-c 基础十二 【NSString】)