NSString的方法

//   NSString

        

        //  创建常量字符串

        NSString *astring = @"This is a String!";

        

        //  创建空字符串,给予赋值。

        NSString *astringq = [[NSStringallocinit];

        astring = @"This is a String!";

        NSLog(@"astringq:%@",astringq);

        [astring release];

        

        //  提升速度:initWithString方法

        NSString *astringr = [[NSStringallocinitWithString:@"This is a String!"];

        NSLog(@"astring:%@",astringr);

        [astring release];  //只要有alloc就有release;

        

        

        //创建格式化字符串:占位符(由一个%加一个字符组成)

        //这类方法称为简便(convenience)方法或工厂方法,并且返回自动释放的对象,使用了自动释放池

        //便利构造器 [类名类名With...] 不用release

        int i = 1;

        int j = 2;

        NSString *astringe = [NSStringstringWithFormat:@"%d.This is %i string!",i,j];

        NSLog(@"astring:%@",astringe);

        

        

        //- (BOOL)isEqualToString:(NSString *)aString;

        //  isEqualToString 比较的是两个字符串的值

        NSString *astring01 = @"this is a String!";

        NSString *astring02 = @"this is a String!";

        BOOL result = [astring01 isEqualToString:astring02];

        NSLog(@"astring01 isEqualToString:astring02 result:%d",result);

        

        //  “==”比较的是两个字符串的地址,字符串是相同的字符串常量,只是变量不同,OC不会再开辟一个内存,astring011astring022 指向一个常量区

        NSString *astring011 = @"This is a String!";

        NSString *astring022 = @"This is a String!";

        BOOL result2 = astring011 == astring022;

        NSLog(@"astring011 == astring022 result:%d",result2);

        

        //  - (NSComparisonResult)compare:(NSString *)astring

        //  NSComparisonResult:NSOrderedSame 0 /NSOrderedAscending 1 /NSOrderedDescending -1

        

        NSComparisonResult result3 = [astring01 compare:astring02];

        NSLog(@"NSComparisonResult result3:%ld",result3);

        

        //  字符的长度

        NSString *urlString = [[NSStringallocinit];

        NSLog(@"urlInput length = %ld",[urlString length]);

        

        /*

        表示:...的值

         - (double)doubleValue;

         - (float)floatValue;

         - (int)intValue;

         - (NSInteger)integerValue NS_AVAILABLE(10_5, 2_0);

         - (long long)longLongValue NS_AVAILABLE(10_5, 2_0);

         - (BOOL)boolValue NS_AVAILABLE(10_5, 2_0);         

        */

        

        // convert string to int

        NSString *aNumberString = @"123";

        int x = [aNumberString intValue];

        NSLog(@"%d",x);

        

        //  convert int to string

        int aNumber = 123;

        NSString *aString = [NSStringstringWithFormat:@"%d", aNumber];

        NSLog(@"%@",aString);

        

        //-----------------------------------------------------------------------------------------//

        

        /*

                  

         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

         返回索引iUnicode字符

         

         -(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

         返回转换为UIF8字符串的字符串

         

         -(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。使用指定rangensstring2替换所有的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];

         

         可以使用appendStringappendFormat来对可变字符串操作:

         - voidappendString: (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];


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值