OC基础之-----字符串NSString
来源:互联网 发布:apache cxf 2.5.9下载 编辑:程序博客网 时间:2024/04/29 04:55
字符串的操作在项目中是比较重要的类,所以我们要认真的对待, API 当中还有很多号的属性,可以自行研究,这里只是对一些常用的进行总结.
一 NSString 字符串语法
1. OC中的基础数据类型
NSInteger 在64位系统下,相当于 long ;在非64位系统下,相当于 int.
CGFloat 在64位系统下相当于 double,在非64为系统下相当于 float.
2. 系统为我们提供的类库(NSString 和 NSMutableString):API文档中的一些说明:
Inherits froms:继承自那个类, NSOject
Conform to:遵循什么协议
Framerwork:属于那个框架
Availability:什么时候可用的(可用范围)
Dealared in: 声明在什么头文件里
Related documents:相关文档
Sample code: 实例代码
3. NSString 继承自 NSObject,不可变字符串,一旦创建就不能改变.
1⃣ NSString *str = @”lanou”;
NSLog(@”%@”,str); //使用%@进行占位
2⃣ NSString *str = [[NSStringalloc]init]; //自定义初始化的空字符串
3⃣ NSString *str = [NSStringstring]; //便利构造器定义字符串
4. 字符串的创建
1⃣ 字符串的格式化创建(initWithFormat 和 stringWithFormat)
NSString *str = [[NSString alloc]initWithFormat:@”你爱%@”,@”蓝欧”];
NSString *str =[NSString stringWithFormat:@”我爱%@”,@”你”];//便利构造器方法
2⃣ 也可以直接赋值
NSString *str = @”lanou”;
5. 将 C语言中的字符串转化为OC的对象(“iOS”->@”iOS”)(initWithUTF8String 和stringWithUTF8String),一个汉字在内存中占3个字节
NSString *str = [[NSString alloc]initWithUTF8String:”iOS”];
NSString *str = [NSString stringWithUTF8String:”iOS”];
6. 将文件中的内容读入到字符串对象(initWithContentsOfFile: encoding: error:)
NSString *str =[[NSString alloc]initWithContentsOfFile:@”/Users/lanouhn
/Desktop/123.txt”encoding:NSUTF8String error:nil];
[NSStringstringWithContentsOfFile:@”/Users/lanouhn/Desktop/123.txt”encoding:NSUTF8String error:nil]
7. 将字符串内容写入到文件中去(writeToFile: atomically: encoding: error:)
[strwriteToFile: @”/Users/lanouhn/Desktop/123.txt” atomically:YESencoding:NSUTF8String error:nil];
8. 操作字符串
1⃣ 字符串的长度(length)
NSInteger a = [str length];
2⃣ 获取某个范围内的字符串(substringWithRange: )
NSString *str = @”abcdefghijk”;
NSRange range = {0,4};
NSString *str1 = [str substringWithRange:range];
3⃣ 通过子串获取在父串中的范围(rangOfString:)
NSRange rang2 = [str rangeOfString:@”def”];
NSLog(@”%lu,%lu”,rang2.location,rang2.length);
9. 字符串的截取
1⃣ 从0开始到指定位置之前,不包含指定位置索引的内容(substringToIndex:)
NSString *str1 = [str substringToIndex:3];
2⃣ 从下标为3开始获取字符串,直到字符串结尾(substringFromIndex:)
NSString *str2 = [str substringFromIndex:3];
3⃣ 设置截取字符串的范围(substringWithRange:)
NSRange rang =NSMakeRange(0,3);
NSString*strRang = [str substringWithRange:rang];
4⃣ 字符串的拼接(stringByAppendingString:)(stringByAppendingFormat:)
NSString *str3 = [str stringByAppendingString:@”你妹的”];
[str stringByAppendingFormat:@”是我们的%@”,”爱好”];
5⃣ 字符串的替换(stringByReplacingOccurrencesOfString)
NSString *str4 = [strstringByReplacingOccurrencesOfString:
@”abc” withString:@”刘亦菲”];
6⃣字符串的前缀和后缀(hasPrefix: 和 hasSuffix:)
判断字符串文件是否包含某个前缀和后缀文件
BOOL aString =[sStr hasPreFix:@”中国”];
BOOL aString =[sStr hasSuffix:@”清河”];
7⃣ 判断两个字符串是否相等(isEqualToString:)
BOOL resu =[sStr isEqualToString:sStr1];
8⃣ 比较字符串的大下(compare:和caseInsensitiveCompare:)
compare:区分大小写,比较结果:NSOrderedAscending=-1,NSOrderedSame= 0,NSOrderedDescending = 1;
NSInteger n =[str compare:str1];
caseInsensitiveCompare:不区分大小写
[strcaseInsensitiveCompare:str1];
二 NSMutableString 可变字符串的
1. 可变字符串,继承自 NSString, 所以 NSString 的方法 NSMutableString都能用.
2. 初始化(initWithString:)
NSMutableString *mStr = [[NSMutableString alloc]initWithString:@”我与僵尸有个约会”];
3. NSMutableString *mStr =@”我与有个约会”.mutableCopy;
1⃣ 在指定位置插入字符串(insertString: atIndex:)
[mStr insertString :@”美女” atIndex:2];
2⃣ 拼接字符串,在尾部拼接(appendString: 和 appendFormat:)
[mStr appendString:@”,在海滩上”];
3⃣ 在指定范围内删除(deleteCharactersInRange:NSMakeRange(0,5))
[mStr deleteCharactersInRange:NSMakeRange(0,5)];
4⃣ 修改指定范围字符串(replaceCharactersInRange:NSMakeRange(0,3)
withString:@”我和皮卡丘有个约会”)
4. 字符串操作
1⃣ 将字符串的字母全部改为大写(uppercaseString)
2⃣ 将字符串中的字母全部改为小写(lowercaseString)
3⃣ 将字符串中单词的首字母全部改为大写(capitalizedString)
5. 字符串的遍历(使用for循环)(characterAtIndex:)获取字符串中的某个字符
for(int i = 0;i <count;i++){
char c = [str characterAtIndex:i];
NSLog(@”字符串第%d位为% c”,i,c);
}
6. 替换字符串的内容(setString:)
[str setString:@”Hello Word!”];
7. 按照所给出的范围和字符串替换原有的字符(replaceCharactersInRange:)
[str replaceCharactersInRange:NSMakeRange(0,4) withString:@”that”];
三 NSNumber
1. 数字对象,继承自 NSValue, 作用主要把基本数据类型,转化为对象,
2. 转化方法(numberWithInt,numberWithFloat,numberWithShort,
numberWithBool,numberWithInteger)
3. 数值对象转化为基本数据类型(intValue,floatValue,shortValue,boolValue)
int Number= [intNumber intValue];
注意:字符串对象的 length 方法:计算的是字符串的字数,而 strlen 计算的是字符数.例如:"我们123"length 得出的结果是5,而 strlen 得出的结果是9,因为一个汉字占3个字节.
- OC基础之-----字符串NSString
- OC基础之NSString
- OC之【NSString字符串的其他用法】
- Snail—OC学习之字符串NSString
- OC字符串NSString
- oc 字符串NSString
- OC笔记,字符串NSString
- OC中字符串NSstring
- OC字符串(NSString)
- oc 字符串类NSString
- oc 字符串NSString
- OC NSString字符串比较
- OC--NSString字符串
- OC NSString基础学习
- OC基础使用(四 NSString 不可变字符串)
- OC字符串对象NSString对象方法使用基础
- **原创**零基础学ios***OC课程01**字符串NSString
- 20150610之OC中字符串NSString的操作
- QT父窗口和子窗口互相通信
- “系统配置未能初始化”错误处理
- elasticsearch G1垃圾回收器
- css的文本样式属性
- CLRS 1.2作为一种技术的算法
- OC基础之-----字符串NSString
- android线程销毁
- 端口被占用处理(windows下)
- eclipse部署项目到webapps下,如何不带contextPath来访问
- 《转》c++学习路线与推荐书籍
- Linux 环境变量的设置、查看方法
- PHPEXcel 10008错误解决
- linux下查看文件ascii值(是否有两次换行)
- EasyUi Datagrid的基础使用