创建一个常量字符串对象 需要在字符串开头放置一个 ,例如:
@"Hello OC~~"
NSLog
专门用于log日志输出
NSString *str = @"Hello OC~~~"; NSLog(@"%@",str);
上面的代码首先创建字符串对象str 然后用nslog将值显示出来
nslog格式字符 %@ 不仅可以显示NSString对象 还可以显示其他对象
description
为了方便调试 我们可以在自己的类中重写description方法 比如
#import@interface Fraction : NSObject-(void)add;@end@implementation Fraction-(void)add{ NSLog(@"--->add");}-(NSString *)description{ return [NSString stringWithFormat:@"---->"];}@endint main(int argc, const char * argv[]){ @autoreleasepool { Fraction* mFraction = [[Fraction alloc] init]; NSLog(@"%@",mFraction); } return 0;}
输入的结果就是 ---->
不可变对象(NSString)
创建字符串对象时 会创建一个内容不可改变的对象,这个对象称为不可变对象
可以使用NSString类处理不可变字符串
如果经常需要处理字符串或者更改字符串中的字符 我们可使用NSMutableString类
计算字符串长度
[str length];
将一个字符串复制到另一个字符串
[NSString stringWithString: str1];
将一个字符串复制到另一个字符串尾端
[str stringByAppendingString:@""];
判断字符串是否相等
[str1 isEqualToString : str2]
将字符串转成大写
[str uppercaseString];
将字符串转成小写
[str lowercaseString];
验证字符串是否大于,等于或小于另一个字符串(大小写区分)
switch ([str1 compare:str2]) {
case NSOrderedDescending:
//str1 > str2
break;
case NSOrderedSame:
//str1 = str2
break;
case NSOrderedAscending:
//str1 < str2;
break;
default:
break;
}
验证字符串是否大于,等于或小于另一个字符串(大小写不区分)
大小写不区分 可以使用 caseInsensitiveCompare
[str caseInsensitiveCompare:@""];
从字符串中提取前n个字符
[str substringToIndex:n];
从字符串中提取从索引n开始到结尾的子字符串
[str substringFromIndex:n];
从字符串中提取从索引n到索引m的子字符串(m-n个字符)
[[str substringFromIndex:n] substringToIndex: (m-n)];
[str substringWithRange:NSMakeRange(n, (m-n))];
从字符串中查找字符串
NSString *str = @"abcdefghijklmnopq";
NSRange range = [str rangeOfString:@"cde"];
NSLog(@"位置:%lu 长度:%lu",range.location,range.length);