NSString方法与NSMutableString方法

NSString方法
+(id) stringWithContentsOfFile:path encoding:enc error:err
创建一个新字符串并将其设置为path指定的文件的内容,使用字符编码enc,如果非零,则返回err中错误
+(id) stringWithContentsOfURL:url encoding:enc error:err
创建一个新的字符串,并将其设置为url的内容,使用字符编码enc,如果非零,则返回err中的错误
+(id) string
创建一个新的空字符串
+(id) stringWithString:nsstring
创建一个新的字符串,并将其设置为nsstring
-(id)initWithString:nsstring
将分配的字符串设置为nsstring
-(id) initWithContentsOfFile:path encoding:enc error:err
将字符串设置为path制定的文件的内容
-(id) initWithContentsOfURL:url encoding:enc error:err
将字符串设置为url(NSURL *)url的内容,使用字符编码enc,如果非零,则返回err中的错误
-(id) (UNSIgned int)length
返回字符串中的字符数目
-(unichar)characterAtIndex:i
返回索引i的Unicode字符
-(NSString *)substringFromIndex:i
返回从i开始知道结尾的子字符串
-(NSString *)substringWithRange:range
根据指定范围返回子字符串
-(NSString *)substringToIndex:i
返回从该字符串开始到索i的子字符串
-(NSComparator *)caseInsensitiveCompare:nsstring
比较两个字符串,忽略大小写
-(NSComparator *)compare:nsstring
比较两个字符串
-(BOOL)hasPrefix:nsstring
测试字符串是否以nsstring开始
-(BOOL)hasSuffix:nsstring
测试字符串是否以nsstrng结尾
-(BOOL)isEqualToString:nsstring
测试两个字符串是否相等
-(NSString *) capitalizedString
返回每个单词首字母大写的字符串(每个单词的其余字母转换为小写)
-(NSString *)lowercaseString
返回转换为小写的字符串
-(NSString *)uppercaseString
返回转换为大写的字符串
-(const char*)UTF8String
返回转换为UIF-8字符串的字符串
-(double)doubleValue
返回转换为double的字符串
-(float)floatValue
返回转换为浮点值的字符串
-(NSInteger)integerValue
返回转换为NSInteger整数的字符串
-(int)intValue
返回转换为整数的字符串

NSMutableString方法
+(id) stringWithCapacity:size
创建一个字符串,初始包含size的字符
-(id) initWithCapacity:size
使用初始容量为size的字符串来初始化字符串
-(void) setString:nsstring
将字符串设置为nsstring
-(void) appendString:nsstring
在接收者的末尾附加nsstring
-(void) deleteCharactersInRange:range
删除指定range中的字符
-(void) insertString:nsstring atIndex:i
以索引i为起始位置插入nsstring
-(void) replaceCharactersInRange:range withString:nsstring
使用nsstring替换range指定的字符
-(void) replaceOccurrencesOf
String:nsstring withString:
nsstring2 options:opts range:range

根据选项opts。使用指定range中的nsstring2替换所有的nsstring。选项可以包括NSBackwardsSearch(从范围的结尾开始搜索)NSAnchoredSearch(nsstring必须匹配范围的开始),NSLiteralSearch(执行逐字节比较以及NSCaceInsensitiveSearch的按位或组合)

NSMutableString

[aString substringToIndex:([aString length]-1)];//字符串删除最后一个字符

//字符串删除最后一个字符

NSRange range = {0,1};

[aStr deleteCharactersInRange:range];

NSString是不可变的,意思是他声明的对象我们不可以改变,如果要改变,可以使用它的子类:NSMutableString

你可以使用类方法:stringWithCapacity来创建一个新的NSMutableString,声明如下:

*  (id) stringWithCapacity: (unsigned) capacity:

可按如下方法声明一个新的可变字符串:

NSString *str1;

Str1 = [NSMutableString stringWithCapacity:42];

可以使用appendString或appendFormat来对可变字符串操作:

- (void)appendString: (Nsstring *) aString;

-  (void) appendFormat: (NSString *) Format;

appendString 接受参数aString,然后将其复制到接受对象的末尾。

appendFormat类似,他将格式化的字符串附加在接受对象的末尾,而不是创建新的对象。

EXP:

NSMutableString *string;

string = [NSMutableString stringWithcapacity:50];

[string appendString: @”hello,there”];

[string appendFormat: @”human %d!”, 39];

这段代码的string最后被赋值为:hello,there human 39!

你还可以使用deleteCharactersInRange:方法来删除字符串中的字符:

- (void) deleteCharactersInRange: (NSRange) range;

通常将deleteCharactersInRange: 和rangeOfString:连在一起使用,NSMutableString可以使用NSString的全部功能,包括rangeOfString:、字符串比较和其他任何功能。

例如,你列了一个所有朋友列表,你突然又不喜欢Jack了,想把他从朋友列表里删除:

//朋友列表初始化

NSMutableString *friends;

friends = [NSMutableString stringWithcapacity: 50];

[friends appendString: @”level fang jack even”];

//找到jack并且删除

NSRange jackRange;

jackRange = [friends rangeOfString: @”jack”];

jackRange.length++; //eat the space that follows

[friends deleteCharactersInRange: jackRange]

时间: 2024-10-10 21:13:37

NSString方法与NSMutableString方法的相关文章

NSString 常用的一些方法

//将NSData转化为NSString NSString* str = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding]; //将NSString 转化为NSData (NSString.h) - (NSData *)dataUsingEncoding:(NSStringEncoding)encoding; //载一个字符串中删除一个字符或字符串 [_display deleteCharactersIn

iOS NSString 如何写get方法

iOS NSString 属性使用 get方法时 get写法在arc下无法通过编译 可以通过如下方法来间接实现,实现方法如下: http://www.cnblogs.com/love-lie/archive/2012/06/25/2561566.html such as: #import <Cocoa/Cocoa.h> @interface Photo : NSObject { NSString* caption; NSString* photographer; } - (NSString*)

OC学习篇之---Foundation框架中的NSString对象和NSMutableString对象

在之前的一篇文章中我们说到了Foundation框架中的NSObject对象: http://blog.csdn.net/jiangwei0910410003/article/details/41788121 那么今天在在来继续看一下Foundation框架中的常用对象:NSString和NSMutableString 在OC中NSString对象是不可变的,和Java中的String一样的,而NSMutableString是可变的,和Java中的StringBuilder一样. 一.NSStr

OC基础复习(三)之类方法和对象方法的理解

面向对象的难易点:其实也就是封装:要会调封装,也要会自己封装,封装就是给出一些接口,让我们去用,我们不关心其实现,但往往学的时候不踏实 说他容易是用着容易,只要有接口,就可以完成很多我们想要的功能,但往往分不清功能是自己能实现还是通过别人写好的框架或者方法来帮我实现 所以需要记忆一些常用方法和框架.把自己的算法思想和一些接口框架相结合. OC 有两种类型的方法,类方法和对象方法(也被称为实例方法) 1.类方法:以+开头,不分配内存空间(这句话,问题来了,为什么?) 什么时候分配内存空间,很显然只

Object-C之set方法,get方法

Main.m #import <Foundation/Foundation.h> #import "Person.h" int main(int argc, const char * argv[]) { //创建person对象 Person *person = [[Person alloc] init]; //设置person对象的名字和年龄 [person setName:@"Jack"]; [person setAge:12]; //打印个人信息

方法重写和方法重载

重写和重载虽然都有一个共同点是发生在方法之间,但是两者之间没有任何的关系! 方法重载:是指一个类中有多个方法,这些方法的名字一样,但是形参不一样 方法重写:发生在子类和父类之间,当子类继承了父类之后,子类就拥有了父类中定义的方法,当然除了构造器没有继承,子类可以去调用父类的方法,也可以重写,在子类中重写父类的方法,保证方法名一样,形参也要一样吧,这样子类再访问这个方法时就会默认使用这个在子类中被重写的方法,而不是父类中那个被覆盖的方法. 当然,我们如果想在子类中使用父类中被覆盖的方法,我们可以使

xss注入方法及验证方法

注:本文描述的是一般情况的xss注入方法及验证方法,并无覆盖所有xss情况, 步骤1:在任一输入框中输入以下注入字符 >"'><script>alert(XSS)</script> >"'><img src="javascript:alert(123456)"> 1234<%00script>alert("123456")</script> &{alert

golang使用reflects调用方法时,方法名需要首字母大写

golang在服务端处理api请求,因为在其他语言中定义方法一般使用小写开头, 给服务端传递ApiName时一般使用的是小写首字母的方法名. 如果直接使用小写方法名定义方法,将无法通过golang的reflect反射获取和调用. 建议在增加前缀"API_"    如 API_login来定义Api结构的方法 type Api struct{ } func(this *Api)API_login(){ } requestStr := "usr/login/HYUKGDHJHDY

Javascript的私有变量和方法、共有变量和方法以及特权方法、构造器、静态共有属性和静态共有方法

一.私有变量:定义在函数内部的属性和方法称之为该函数的私有属性和方法        共有变量:在函数内部通过this创建的对象和方法称之为该函数的共有属性和方法 特权方法:通过this创建的既可以访问该函数的共有属性和方法,也可以访问该函数的私有属性和方法称之为特权方法 构造器:对象在创建的时候调用特权方法来初始化实例的属性,这个方法也称为构造器 /** * 类的内部私有属性.私有方法.特权方法.共有属性和共有方法以及构造器 * @param id * @param bookname * @pa