OC Foundation框架—字符串

一、Foundation框架中一些常用的类

字符串型:

NSString:不可变字符串

NSMutableString:可变字符串

集合型:

1)

NSArray:OC不可变数组

NSMutableArray:可变数组

2)

NSSet:

NSMutableSet:

3)

NSDictiorary

NSMutableDictiorary

其它:

NSDate

NSObject

 

二、NSString和NSMutableString的使用与注意

(一)6种创建字符串的形式

 

(二)使用注意

(1)字符串的导入导出

 

(2)类方法

 

(三)NSMutableString的使用与注意

 

(四)URL补充内容

Url:资源路径

格式:协议头:/路径

网络路径协议头:http

本地文件以file为协议头

ftp为协议头,说明资源是ftp服务器上的。

 

(四)字符串操作补充

  1 #import <Foundation/Foundation.h>
  2 
  3 int main(int argc, const char * argv[]) {
  4     @autoreleasepool {
  5         // insert code here...
  6         // NSLog(@"Hello, World!");
  7         
  8         /*
  9          不可变字符串
 10          1.创建字符串
 11             实例方法(3种)
 12             类方法(3种)
 13          2.不可变字符串:
 14            统计长度(2种)
 15            索引提取 (3种)
 16            比较 (3种)
 17            查照字符串位置(1种)
 18            判断前后缀
 19            转换数字
 20            大小写转换
 21            字符串提取
 22          
 23          可变字符串
 24          1.创建可变字符串
 25          2.可变字符串的操作
 26          增(3种)删(1种)改(1种)查
 27          
 28          
 29          */
 30         
 31         //实例方法(3种)
 32         NSString *str1 = @"123456789";
 33         NSString *str2 = [[NSString alloc] initWithFormat:@"%d4567",3];
 34 //        NSString *str3 = [[NSString alloc] initWithString:str2];//传的是对象
 35         
 36         //类方法(3种)
 37         NSString *str4 = [NSString stringWithFormat:@"Abc%@eFg",@"d"];
 38 //        NSString *str5 = [NSString stringWithString:str4];
 39         
 40 
 41         
 42         //统计长度(2种)
 43         NSUInteger length = [str1 length];
 44         NSUInteger length1 = str1.length;
 45         NSLog(@"%lu %lu",length,length1);
 46 
 47         
 48         //索引提取 (3种)
 49         NSString *newStr1 = [str1 substringFromIndex:3];
 50         NSLog(@"%@",newStr1);
 51         NSString *newStr2 = [str1 substringToIndex:3];
 52         NSLog(@"%@",newStr2);
 53         NSString *newStr3 = [str1 substringWithRange:NSMakeRange(3, 4)];
 54         NSLog(@"%@",newStr3);

        NSString *string = [[NSString alloc] initWithFormat:@"%@",@"qwert"];

        unichar ch =[string characterAtIndex:2];//提取字符串中的一个字符变成字符

        NSLog(@"%c",ch);

 55         
 56         
 57         //比较 (3种)
 58         if ([str1 isEqualToString:str2]) {
 59             NSLog(@"相同");
 60         }else
 61             NSLog(@"不相同");
 62         
 63         
 64         
 65         if ([str1 compare:str2] == NSOrderedAscending) {
 66             NSLog(@"str1>str2");
 67         }
 68         else if ([str1 compare:str2] == NSOrderedDescending)
 69             NSLog(@"str1<str2");
 70         else if ([str1 compare:str2] == NSOrderedSame)
 71             NSLog(@"==");
 72         
 73         
 74         
 75         if ([str1 caseInsensitiveCompare:str2] == NSOrderedAscending) {
 76             NSLog(@"str1>str2");
 77         }
 78         else if ([str1 caseInsensitiveCompare:str2] == NSOrderedDescending)
 79             NSLog(@"str1<str2");
 80         else if ([str1 caseInsensitiveCompare:str2] ==NSOrderedSame)
 81             NSLog(@"==");
 82         
 83         
 84         // 查找字符串位置
 85         NSRange range = [str1 rangeOfString:str2];
 86         if (range.location != NSNotFound) {
 87             NSLog(@"location:%lu  length:%lu",range.location,range.length);
 88 
 89         } else {
 90             NSLog(@"没找到");
 91         }
 92         
 93         
 94         //判断前后缀(2种)
 95         BOOL flag = [str4 hasPrefix:@"abc"];
 96         NSLog(@"%d",flag);
 97         
 98         BOOL anotherFlag = [str4 hasSuffix:@"fg"];
 99         NSLog(@"%d",anotherFlag);
100         
101         
102         //转换数字(4种)
103         int number = [str1 intValue];
104         NSLog(@"%d",number);
105         
106         NSInteger number1 = [str1 intValue];
107         NSLog(@"%ld",number1);
108         
109         NSString *str6 = @"1234567.89";
110         double number2 = [str6 doubleValue];
111         NSLog(@"%lf",number2);
112         
113         //大小写转换
114         NSString *upStr = [str4 uppercaseString];
115         NSLog(@"%@",upStr);
116         NSString *lowStr = [str4 lowercaseString];
117         NSLog(@"%@",lowStr);
118         NSString *tempStr = [str4 capitalizedString];
119         NSLog(@"%@",tempStr);
120         
121         
122         
123         
124         // 可变字符串
125         // 实例方法
126         NSMutableString *muStr1 = [[NSMutableString alloc]
127                                    initWithFormat:@"1%d3",2];
128         
129         NSMutableString *muStr2 = [[NSMutableString alloc]
130                                    initWithString:@"123"];
131         
132         NSMutableString *muStr3 = [[NSMutableString alloc]
133                                    initWithCapacity:10];
134         
135         // 类方法
136         NSMutableString *muStr4 = [NSMutableString stringWithFormat:@"4%d6",5];
137         
138         NSMutableString *muStr5 = [NSMutableString stringWithString:@"123"];
139         
140         NSMutableString *muStr6 = [NSMutableString stringWithCapacity:10];
141         
142         
143         //增(3种)
144         [muStr1 appendFormat:@"%d",456];
145         NSLog(@"%@",muStr1);
146         
147         [muStr2 appendString:@"789"];
148         NSLog(@"%@",muStr2);
149         
150         [muStr3 insertString:@"abcdefghijklmn" atIndex:0];
151         NSLog(@"%@",muStr3);
152         
153         [muStr4 insertString:@"abcdefghijklmn" atIndex:2];
154         NSLog(@"%@",muStr4);
155         
156         
157         
158         //删除
159         [muStr5 deleteCharactersInRange:NSMakeRange(2, 1)];
160         NSLog(@"%@",muStr5);
161         
162         //
163         [muStr6 replaceCharactersInRange:NSMakeRange(0, 0) withString:@"1234567890"];
164         NSLog(@"%@",muStr6);
165         
166         [muStr5 replaceCharactersInRange:NSMakeRange(0, 1) withString:@"abcd"];
167         NSLog(@"%@",muStr5);
168         
169     }
170     return 0;
171 }
原文地址:https://www.cnblogs.com/oc-bowen/p/5028755.html