NSString(六)

NSString定义出来的对象是不可变的字符串。当我们拿到一个NSString对象,不要将它当作数组使用,要当成一个类来使用。

NSString初始化

1、


//NSString(不可变字符串)

//我们拿到一个NSString对象,不要当字符数组使用,要当成一个类来使用。。

//初始化1

NSString *s1 = @"123";

2、


//初始化2,返回一个空的字符串

//一般不用这样的方式,因为返回的是不可改变的空值

NSString *s2 = [[NSString alloc] init];

NSLog(@"s2 = %@",s2);

便利构造器:


NSString *s3 = [NSString string];

NSLog(@"s3 = %@",s3);

3、


//创建格式化字符串

NSString *s4 = [[NSString alloc]initWithFormat:@"%@456",s1];

NSLog(@"%@",s4);

//2015-04-1611:03:20.848 OCLesson4_NSString[1010:49410] 123456

便利构造器:


//便利构造器

NSString *s5 = [NSString stringWithFormat:@"%@789",s4];

NSLog(@"%@",s5);

//2015-04-1611:09:01.253OCLesson4_NSString[1037:51375] 123456789

4、


//使用字符串初始化字符串

NSString *s6 = [[NSString alloc]initWithString:s5];

便利构造器:


NSString *s7 = [NSString stringWithString:s6];

NSLog(@"%@",s7);

5、写一个txt文档,然后拖到工程里,再将这个工程里的文档拖到initWithContentsOfFile:@" "这个” ”参数里,就会自动识别txt的地址。


//用文件给字符串赋值

NSString *s8 = [[NSString alloc]initWithContentsOfFile:@"/Users/lanou3g/Desktop/OC课上代码/OCLesson4_NSString/OCLesson4_NSString/test.txt" encoding:NSUTF8StringEncoding error:nil];

NSLog(@"%@",s8);//2015-04-16 11:28:06.604 OCLesson4_NSString[1134:58246] haha我们拿到一个NSString对象,不要当字符数组使用,要当成一个类来使用。。

便利构造器:


NSString *s9 = [NSString stringWithContentsOfFile:@"/Users/lanou3g/Desktop/OC课上代码/OCLesson4_NSString/OCLesson4_NSString/test.txt" encoding:NSUTF8StringEncoding error:nil];

NSLog(@"%@",s9);

NSString的使用:

1、


//使用

//length 用来获取字符串长度

NSString *testStr = [NSString stringWithFormat:@"123ABCabc456"];

NSLog(@"%lu",[testStr length]);//2015-04-16 11:37:58.968 OCLesson4_NSString[1197:60748] 6

2、


//比较字符串大小

//NSComparisonResult是一个枚举类型,

// -1 :前面的 < 后面的

//  0 :前面的 = 后面的

//  1 :前面的 > 后面的

[testStr compare:@"123456"];

3、


//比较两个字符串是否相等

[testStr isEqualToString:@"123"];

4、


//判断前缀

// 包含:返回YES

// 不包含:返回NO

BOOL b1 = [testStr hasPrefix:@"1"];

NSLog(@"%d",b1);//2015-04-16 11:49:27.805 OCLesson4_NSString[1253:64616] 1

BOOL b2 = [testStr hasPrefix:@"13"];

NSLog(@"%d",b2);//2015-04-16 11:49:27.805 OCLesson4_NSString[1253:64616] 0

5、


//判断后缀

// 包含:返回YES

// 不包含:返回NO

bool b3 = [testStr hasSuffix:@"23456"];

NSLog(@"%d",b3);//2015-04-16 11:55:14.706 OCLesson4_NSString[1292:66018] 1

bool b4 = [testStr hasSuffix:@"65"];

NSLog(@"%d",b4);//2015-04-16 11:55:14.706 OCLesson4_NSString[1292:66018] 0

6、


//是否包含

//8.0以后,10.10以后才有效。

bool b5 = [testStr containsString:@"123"];

7、


//大小写转换

//小写转换

NSString *temp1 = [testStr lowercaseString];(以小写字母印刷)

NSLog(@"%@",temp1);//2015-04-16 14:46:10.449 OCLesson4_NSString[1641:83987] 123abcabc456

8、


//转换大写

NSString *temp2 = [testStr uppercaseString];(以大写字母印刷)

NSLog(@"%@",temp2);//2015-04-16 14:47:18.609 OCLesson4_NSString[1653:84450] 123ABCABC456

9、


//截取字符串

//从哪开始截取字符串,并且包含该位置。

NSString *temp3 = [testStr substringFromIndex:2];

NSLog(@"%@",temp3);//2015-04-16 14:51:14.002 OCLesson4_NSString[1672:85555] 3ABCabc456

10、


//从头开始到指定位置结束截取,不包含该位置。

NSString *temp4 = [testStr substringToIndex:7];

NSLog(@"%@",temp4);//2015-04-16 14:53:47.745 OCLesson4_NSString[1686:86307] 123ABCa

11、


//截取指定位置指定长度的字符串

//substringWithRange的参数是一个结构体,结构体中,成员变量:整型的location(位置)和整型的length(长度)

NSString *temp5 = [testStr substringWithRange:NSMakeRange(3, 3)];//NSMakeRange(3, 3),是oc提供的函数(参数是整型的location,整型的length),用来截取第3个位置开始后长度为3的字符串

NSLog(@"%@",temp5);//2015-04-16 14:57:17.828 OCLesson4_NSString[1707:87601] ABC

12、


//字符串转换成数字。

NSString *s10 = @"123";

int num1 = [s10 intValue];//只有在字符串里边全部都是数字的时候,才能转换。

NSLog(@"%d",num1);//2015-04-16 15:00:42.354 OCLesson4_NSString[1728:88795] 123

时间: 2024-10-24 15:27:38

NSString(六)的相关文章

黑马程序员——OC常用类NSString/NSMutableString《Foundation框架中类》

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- NSString/NSMutableString:OC字符串处理核心类         NSString/NSMutableString是Foundation框架中的类,是Objective-C 中字符串处理的核心类.这两个类最大的区别:NSString 创建赋值以后,该类字符串除了重新被赋值,其的内容与长度不能动态的更改.NSMutableString 创建赋值以后可以动态更改其内容与长度.

OC基础(十六)NSString的创建以及相关细节

代码如下: 1 #import <Foundation/Foundation.h> 2 3 int main(int argc, const char * argv[]) { 4 @autoreleasepool { 5 6 //字符串常量创建,存储在常量区 7 //常量区特点:内容不会重复.所以如果其它对象存储的内容一样(如下例子),则指针指向相同的地址. 8 //str存储的是abc的地址,指针指向abc(str是存储在栈区) 9 NSString *str1 = @"abc&q

继续NSString的学习

一.大小写转换1.- (NSString *)uppercaseString; 所有字符转化为大写2.- (NSString *)lowercaseString; 所有字符转化为小写3.- (NSString *)capitalizedString; 所有单词首字母转化大写 NSLog(@"%@", [demoTwo uppercaseString]);NSLog(@"%@", [demoTwo lowercaseString]);NSLog(@"%@&q

iOS开发——淫技篇&amp;iOS开发中各种淫技总结(六)

iOS开发中各种淫技总结(六) swift中指针的使用 在 Swift 中,指针都使用一个特殊的类型来表示,那就是 UnsafePointer<T>.遵循了 Cocoa 的一贯不可变原则,UnsafePointer<T> 也是不可变的.当然对应地,它还有一个可变变体,UnsafeMutablePointer<T>.绝大部分时间里,C 中的指针都会被以这两种类型引入到 Swift 中:C 中 const 修饰的指针对应 UnsafePointer (最常见的应该就是 C

黑马程序员--oc基础第六篇

六. oc基础知识(内存管理下) 总结:内存管理代码规范 1.只要调用alloc那么就必须调用release: 2.set方法的代码部分 *基本数据类型直接赋值. *如果是oc对象类型 - (void) setCar:(Car *)car { if(_car!=car) { [_car release]; _car=[Car retain]; } } 3.dealloc 部分的代码规范 *一定要[super dealloc ]放在最后面. *对self(当前)所拥有的其他对象做一次release

OC第二节 —— NSString和NSMutableString

1.为什么需要NSString对象        答:在OC中创建字符串时,一般不使用C的方法,    因为C将字符串作为字符数组,所以在操作时会有很多不方便的地方,    在Cocoa中NSString集成的一些方法,可以很方便的操作字符串, 2.oc中字符串和c语言字符串的对比            "hello world"        @"hello world"                     1)输出方式    %@       2)引用方式 

【原】AFNetworking源码阅读(六)

[原]AFNetworking源码阅读(六) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 这一篇的想讲的,一个就是分析一下AFSecurityPolicy文件,看看AFNetworking的网络安全策略,尤其指HTTPS(大家可以先简单了解下HTTPS).再一个就是分析下AFNetworkReachabilityManager文件,看看AFNetworking如何解决网络状态的检测. 2. AFSecurityPolicy - 网络安全策略 之前我们在AFURLS

iOS开发——图形编程OC篇&amp;(六)Quartz 2D高级使用(二)

Quartz 2D高级使用 一.绘图路径 A.简单说明 在画线的时候,方法的内部默认创建一个path.它把路径都放到了path里面去. 1.创建路径  cgmutablepathref 调用该方法相当于创建了一个路径,这个路径用来保存绘图信息. 2.把绘图信息添加到路径里边. 以前的方法是点的位置添加到ctx(图形上下文信息)中,ctx 默认会在内部创建一个path用来保存绘图信息. 在图形上下文中有一块存储空间专门用来存储绘图信息,其实这块空间就是CGMutablePathRef. 3.把路径

iOS网络编程(六) NSURLSession详解

昨夜浏览Demo的时候,看到别人请求网络数据用的是NSURLSession,当时就在想这里什么,怎么没有用过,引起了我的好奇心,遂去百度-谷歌-官方文档一一查看,有了一定的了解,原来NSURLSession是iOS7中新的网络接口,它与咱们熟悉的NSURLConnection是并列的. 查找资料,写了一个小Demo,大家可以看看,有什么不足的地方,可以留言帮我指出来. // // HMTRootViewController.m // // // Created by HMT on 14-6-7.