NSString NSMutableString
// NSString
//代开API文档
//Xcode -> help - Documentation and API Reference
//快速打开API
//alt(option) + 鼠标左键
//快速进入头文件
//command + 鼠标左键
// NSString是oc中的不可变字符串类,被创建后,不能修改
//常用方法
//1.创建字符串
NSString *str1 = @"iPhone";
NSLog(@"%@", str1);
NSString *str2 = [[NSString alloc] init];
NSLog(@"%@", str2);
NSString *str3 = [[NSString alloc] initWithString:@"iPhone"];
NSLog(@"%@", str3);
// NSString *str4 = [[NSString alloc] initWithString:nil];
// NSLog(@"%@", str4); error
NSString *str5 = [[NSString alloc] initWithFormat:@"%@5s", str1];
NSLog(@"%@", str5);
// NSString *str6 = [NSString stringWithString:@"iPhone"];
// NSLog(@"%@", str6);
NSString *str7 = [NSString stringWithFormat:@"123"];
NSLog(@"%@", str7);
//2.获取字符串长度
NSUInteger length = [str7 length];
NSLog(@"%lu", length);
//3.判断字符串是否以指定字符串开始或结束
NSString *str8 = @"123ABC";
BOOL result = [str8 hasPrefix:@"223"];
NSLog(@"%d", result);
BOOL result1 = [str8 hasSuffix:@"C"];
NSLog(@"%d", result1);
//4.搜索字符串的范围
NSRange range = [str8 rangeOfString:@"3A"];
NSLog(@"%lu, %lu", range.length, range.location);
//5.字符串截取
NSRange rs = {3, 3};
NSString *str9 = [str8 substringWithRange:rs];
NSLog(@"%@", str9);
//6.拼接字符串
NSString *str10 = [str8 stringByAppendingString:@"123"];
NSLog(@"%@", str8);
NSLog(@"%@", str10);
//7.替换字符串
NSString *str11 = [str8 stringByReplacingOccurrencesOfString:@"3A" withString:@"A"];
NSLog(@"%@", str11);
//8.字符串比较"123" "123" "321"
NSInteger flag = [@"123" compare:@"123"];
NSLog(@"%ld", flag);
//9.字符串和数值类型的转换
NSString *str12 = @"123";
int a = [str12 intValue];
NSLog(@"%d", a);
double b = [str12 doubleValue];
NSLog(@"%f", b);
float c = [str12 floatValue];
NSLog(@"%f", c);
BOOL e = [str12 boolValue];
NSLog(@"%d", e);
//10.大小写转换操作
NSString *aaa = @"aBcE";
NSLog(@"%@", [aaa capitalizedString]);
NSLog(@"%@", [aaa uppercaseString]);
NSLog(@"%@", [aaa lowercaseString]);
NSLog(@"%@", aaa);
//NSMutableString
//capctiy 是一个预估的值,可以改变
//由于内存比较紧张,一般把capctiy设置成0,让字符串自己去判断大小,扩充容器大小
//创建一个新的字符串
NSMutableString *mString = [[NSMutableString alloc] initWithCapacity:0];
//拼接字符串
[mString appendString:@"taiyang"];
NSLog(@"%@", mString);
//插入字符
[mString insertString:@"aaa" atIndex:1];
NSLog(@"%@", mString);
//删除字符串
// NSRange r = {2, 3};
// [mString deleteCharactersInRange:r];
// || 等价
[mString deleteCharactersInRange
练习 :
// 1.截取字符串“20|http://www.baidu.com”中 “|” 前面和后面的字符串,并输出。
// NSString *str1 = @"20|http://www.baidu.com";
// 1
// NSString *str2 = [str1 substringWithRange:NSMakeRange(0, 2)];
// NSString *str3 = [str1 substringWithRange:NSMakeRange(3, 20)];
// NSLog(@"str2 = %@ str3 = %@", str2, str3);
//2
// NSString *str2 = [str1 substringFromIndex:3];
// NSLog(@"str2 = '%@'", str2);
// NSString *str3 = [str1 substringToIndex:2];
// NSLog(@"str3 = '%@'", str3);
// 2.将“文艺青年”改成“213青年”。
// NSString *str1 = @"文艺青年";
// NSString *str2 = [str1 stringByReplacingOccurrencesOfString:@"文艺" withString:@"213"];
// NSLog(@"%@", str2);
// 3.给定一个图片文件名,判断字符串中是否有后缀,如果有(如:以“.png”结尾),就替换成“jpg”;如果没有,就拼接”.jpg”
// NSString *str1 = @"taiyang";
// NSUInteger length = [str1 length];
// NSString *str2 = [str1 substringFromIndex:length - 4];
// if ([@".jpg" compare:str2] == 0) {
// NSLog(@"该字符串是以.jpg开头");
// }else if ([@".png" compare:str2] == 0){
// NSString *str3 = [str1 stringByReplacingOccurrencesOfString:@".png" withString:@".jpg"];
// NSLog(@"str3 = '%@'", str3);
// }else{
// NSString *str4 = [str1 stringByAppendingString:@".jpg"];
// NSLog(@"str4 = '%@'", str4);
// }
NSString NSMutableString的更多相关文章
- NSString&NSMutableString常用操作梳理(转)
作者:弦苦 授权本站转载. 上一篇梳理了NSArray&NSMutableArray常用操作,这次来梳理一下Objective-C中每天都要用到的字符串处理类——NSString. Objec ...
- 关于NSString,NSMutableString,NSArray,NSMutableArray,NSDictionary,NSMutableDictionary
NSString,NSMutableString,NSArray,NSMutableArray,NSDictionary,NSMutableDictionary 在 OC 中我们天天都要用,而我们要怎 ...
- NSString&NSMutableString常用操作梳理
http://www.cocoachina.com/ios/20150724/12722.html 上一篇梳理了NSArray&NSMutableArray常用操作,这次来梳理一下Object ...
- NSString NSMutableString copy mutableCopy retain weak strong整合
copy retain assign的差别在于对象属性的set方法 NSString 与 NSMutableString NSString是不可变字符串对象,这句话的意思,结合代码: #import ...
- [转] NSString / NSMutableString 字符串处理,常用代码
原文 : http://justcoding.iteye.com/blog/1405951 Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString , ...
- 【转】 NSString / NSMutableString 字符串处理,常用代码 (实例)
Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重 ...
- NSString / NSMutableString 字符串处理,常用代码 (实例)
http://blog.csdn.net/likendsl/article/details/7417878 Objective-C 中核心处理字符串的类是 NSString 与 NSMutableSt ...
- Objective-C NSString/NSMutableString
创建于完成: 2018/02/05 总览: http://www.cnblogs.com/lancgg/p/8404975.html 字符串类 简介 字符码: Unicode NSString ...
- 转:用法总结:NSNumber、NSString、NSDate、NSCalendarDate、NSData(待续)
NSNumber + (NSNumber *)numberWithInt:(int)value; + (NSNumber *)numberWithDouble:(double)value; - (in ...
随机推荐
- liblas 1.8.1编译安装
liblas https://github.com/libLAS/libLAS/issues/102 https://liblas.org/start.html 源码 https://github.c ...
- Null value was assigned to a property of primitive type setter of"原因及解决方法
在action请求数据的过程中报出"Null value was assigned to a property of primitive type setter of"错误,搜索之 ...
- CAD2010安装说明
1. 2. 3. 4. 5. . 提供算号服务(也就是付费才能获得的注册码)... 不会的可以问的撒....
- delphi修改QQ快捷方式的目标地址达到在启动QQ的同时也能运行自己想要启动的EXE可执行文件
delphi修改QQ快捷方式的目标地址达到在启动QQ的同时也能运行自己想要启动的EXE可执行文件. 直接上代码,自已体会 !! Unit1.pas代码如下: unit Unit1; interface ...
- 常用mysql text 类型,varchar最大长度
MySQL 3种text类型的最大长度如下: TEXT 65,535 bytes ~64kb MEDIUMTEXT 16,777,215 bytes ~16Mb LONGTEXT 4,294,967, ...
- JTopo 使用
1. 下载JTopo js http://www.jtopo.com/download.html 2. 引入js文件,引入jtopo之前引入jQuery 3. JTopo Demo -- 圆形布局 步 ...
- MVVM 的理解
MVVM 是 Model - View - ViewModel 的缩写 可以看到他和之前的MVC很像,的确有人称之为一个加强优化版的MVC. 是一种模块化开发代码分层的思想或者框架! MVVM 的优点 ...
- Windows phone自定义控件(无外观控件)——FlipPanel
编码前 无外观自定义控件的定义在上一篇中已经有了,至于这一篇的自定义控件,比之前多加入了状态的变化,就像默认的Button具有Pressed.Normal等状态.在状态转变的同时可以加上一些动画,可以 ...
- SpringMVC工作原理2(代码详解)
图1.流程图 1.当一个请求(request)过来,进入DispatcherServlet中,里面有个方法叫 doDispatch()方法 里面包含了核心流程 源码如下: 4.然后往下看getHand ...
- 18-javaweb-ssm 开发中错误总结
由于web课设于是,写了几天的javaweb,在写的过程中总会遇到奇奇怪怪的一些bug, 一般都得花很多时间解决. 但是解决多了,后面碰到类似的简单多了. 总结下: 一.前端错误: 1.js错误,看前 ...