OC语言基础之NSString
1.字符串的创建
1: NSString *s1 = @"jack";
2:
3: //NSString *s2 = [[NSString alloc] initWithString:@"jack"];
4:
5: NSString *s3 = [[NSString alloc] initWithFormat:@"age is %d", 10];
6:
7: // C字符串 --> OC字符串
8: NSString *s4 = [[NSString alloc] initWithUTF8String:"jack"];
9: // OC字符串 --> C字符串
10: const char *cs = [s4 UTF8String];
11:
12: // NSUTF8StringEncoding 用到中文就可以用这种编码
13: NSString *s5 = [[NSString alloc] initWithContentsOfFile:@"/Users/apple/Desktop/1.txt" encoding:NSUTF8StringEncoding error:nil];
14:
1: /*
2: 一般都会有一个类方法跟对象方法配对
3: [NSURL URLWithString:<#(NSString *)#>];
4: [NSString stringWithFormat:@""];
5: [NSString stringWithContentsOfFile:<#(NSString *)#> encoding:<#(NSStringEncoding)#> error:<#(NSError *__autoreleasing *)#>];
6:
7: */
2.常用方法
1)检查前缀
1: NSString *str = @"qq=12344&pwd=adadfs";
2: [str hasPrefix:@"qq="];
3:
4: [str hasSuffix:@"fs"];
2)大小写转换
1: NSString *str = [@"adbDAd" lowercaseString];
2: NSString *upStr = [str uppercaseString];
3: NSLog(@"%@", upStr);
4: // [[@"adbDAd" lowercaseString] isEqualToString:@"adsfasd"];
3)可变字符串
1: NSMutableString *str = [[NSMutableString alloc] initWithCapacity:0];
2:
3: [str appendFormat:@"123"]; //123
4: // NSLog(@"%@", str);
5: //
6: // NSString *str1 = @"123";
7: // NSString *str2 = [str1 stringByAppendingString:@"aaaa"];
8: // NSLog(@"%@", str2);
9: //
10: NSRange rang3 = [str rangeOfString:@"3"];
11: [str deleteCharactersInRange:rang3];
12: NSLog(@"%@", str);
13:
14: [str insertString:@"aaa" atIndex:0];
15:
16: // @"3" @""
17: [str replaceOccurrencesOfString:@"3"
18: withString:@""
19: options:NSLiteralSearch
20: range:NSMakeRange(0, str.length)];
21: NSLog(@"%@", str);
OC语言基础之NSString的更多相关文章
- OC语言基础知识
OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能 ...
- 李洪强iOS开发之OC语言基础知识
OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能 ...
- 黑马程序员——OC语言基础语法 面向对象的思想
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结)(一)基础语法 1)关键字 @interface.@implementati ...
- OC语言基础之NSArray
0.数组的分类 NSArray :不可变数组 NSMutableArray : 可变数组 1: // @[] 只创建不可变数组NSArray 2: /* 错误写法 3: NSMutableArray ...
- OC语言基础之代码的封装
1.封装的注意点 1: // 成员变量尽量不要用@public 2: // @public 3: int age; 1: //@public 2: // 只读(readonly):只允许外界访问我的n ...
- OC语言基础之NSDictionary
1.NSDictionary字典的创建 1: // key value 2: // key -==> value 3: NSDictionary *dict = [NSDictionary di ...
- OC语言基础之利用property优化封装
1.property功能用法 1: // @property:可以自动生成某个成员变量的setter和getter声明 2: @property int age;//可以直接免去变量的声明 3: // ...
- OC语言基础之函数与方法
方法 1.对象方法都是以减号 - 2.对象方法的声明必须写在@interface和@end之间 对象方法的实现必须写在@implementation和@end之间 3.对象方法只能由对象来调用 ...
- OC语言基础之类的本质
一.类的本质 1: // 类本身也是一个对象,是个Class类型的对象,简称类对象 2: 3: /* 4: 利用Class 创建 Person类对象 5: 6: 利用 Person类对象 创建 Per ...
随机推荐
- vue.单选和多选,纯css自定义单选框样式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- DOM 2
1.对文档的信息进行检索常用的方法: getElementById; getElementsByTagName; getAttribute;//得到的是属性值 2把需要的信息添加到DOM中常用的方法: ...
- java属性为什么没多态,而是方法多态
定义 java多肽的特性:方法具有多态性,属性却没有. 准备 基类: 子类: 测试类: 结果: 分析如下 父类 a=new 子类,实际对象时子类.由于向上转型,我们可以用父类在编译期间代替子类,使得编 ...
- 【洛谷 P2346】四子连棋(状态压缩,搜索)
其实这题可以直接二进制状压做,1表示黑棋,0表示白棋,另外记录下2个空点的位置就行了. 具体看代码(冗长): #include <iostream> #include <cstdio ...
- karma和jasmine的测试(包括angular测试)
本篇博客主要就是针对现在日新月异的技术和快速开发,测试被很多人忽略,其实在开发中如何保证代码的质量以及逻辑的完整性,测试显得十分重要,本文就是负责karma+jasmine来测试. 1.搭建测试的环境 ...
- Linux XZ格式的解压
xz这个压缩可能很多都很陌生,不过您可知道xz是绝大数linux默认就带的一个压缩工具. 之前xz使用一直很少,所以几乎没有什么提起. 我是在下载phpmyadmin的时候看到这种压缩格式的,phpm ...
- 百度面试题——top K算法
需求 从一亿个数据中,找出其中最小的10个数. 分析 最笨的方法就是将这一亿个数据,按从小到大进行排序,然后取前10个.这样的话,即使使用时间复杂度为nlogn的快排或堆排,由于元素会频繁的移动,效率 ...
- dubbo消费方超时处理
在我们分布式系统中,远程调用可能随时会出现调用超时,然后抛异常 在dubbo内部,默认设置的是500ms(好像是),所以,对于crud事物大的系统来讲肯定是要自定义超时时间咯,作为消费方,自然是优先级 ...
- 【转】spring 装配Bean中构造参数的注入
转载自:http://www.bianceng.cn/Programming/Java/201307/37027.htm spring 装配Bean中构造参数的注入 spring装配bean中还有一种 ...
- OpenCV 3.0中IplImage* 转cv::Mat
在OpenCV 2.0中使用: IplImage * ipl1, *ipl2; // ... const cv::Mat m = cv::Mat(ipl,false); cv::Mat m2 = ip ...