OC之对不可变字符串、可变字符串、可变数组的操作及OC中字符串的排序

原创 2015年11月19日 09:08:45


对不可变字符串的操作:
NSString*str = [[NSStringalloc]initWithString:@"^封枭^"];
NSLog(@"str = %@",str);
NSString*str1 = [NSStringstringWithString:@"-若雪-"];
NSLog(@"str1 = %@",str1);
//求字符串长度.length
 NSUIntegerlength  = str1.length;
 NSLog(@"lenth = %lu",length);
//字符串拼接
 NSString*str2 = [str1 stringByAppendingString:str];
 NSLog(@"str2 = %@",str2);
//多个字符串的拼接
NSString*str3 = [str stringByAppendingFormat:@"%@%@%@",str1,str,str2];
NSLog(@"str3 = %@",str3);
//字符串替换
NSString*str4 = [str stringByReplacingOccurrencesOfString:strwithString:str1];
NSLog(@"str4 = %@",str4);
//在(xy)范围替换字符串
NSString*str5 = [str1 stringByReplacingCharactersInRange:NSMakeRange(1,3)withString:@"微笑"];
NSLog(@"str5 = %@",str5);
//字符串替换为@“xx”
NSString*str6 = [str stringByReplacingOccurrencesOfString:strwithString:@"后会无期"];
NSLog(@"str6 = %@",str6);
对可变字符串的操作:
NSMutableString*m = [[NSMutableStringalloc]initWithString:@"若你安好…"];
//拼接
[mappendString:@"便是晴天···"];
NSLog(@"%@",m);
//插入字符
[minsertString:@"微微一笑很倾城"atIndex:12];
NSLog(@"%@",m);
//删除字符串
[mdeleteCharactersInRange:NSMakeRange(0,1)];
NSLog(@"%@",m);
[mdeleteCharactersInRange:NSMakeRange(0,0)];
NSLog(@"%@",m);
NSString是不可改变字符串,创建出来后不能改变长度和内容
NSMutablleString是可变字符串,创建之后可以修改内容
可变(NSMutableString)和不可变(NSString)
不可变字符串的修改操作,本质是得到一个新的字符串。
不可变字符串的修改是以string开头,有返回值。
可变字符串的修改方法没有返回值,修改原字符串。
//不可变字符串的修改
NSString*result1 = @"y.png";
NSString*newresult = [NSStringstring];
if([result1hasSuffix:@"png"]) {
newresult = [result1stringByReplacingOccurrencesOfString:@"png"withString:@"jpg"];
}else{
newresult = [result1stringByAppendingString:@".jpg"];
}
NSLog(@"newresult = %@",newresult);
       
//可变字符串的修改
NSString*n = [[NSMutableStringalloc]initWithString:@"k.png"];
if([nhasSuffix:@"k.png"]) {
n = [nstringByReplacingOccurrencesOfString:@"png"withString:@"jpg"];
}else{
n = [nstringByAppendingString:@".jpg"];
}
NSLog(@"n = %@",n);
字符串排序:用compare比较
 if([[s1 name]compare: [s2name]] <0) {
  returnNSOrderedAscending;
   }elseif([[s1 name]compare: [s2name]] >0){
   returnNSOrderedDescending;
    }else{
  returnNSOrderedSame;
  }
对可变数组的操作
NSMutableArray*ma = [[NSMutableArrayalloc]initWithObjects:@"她说",@"阴天",@"明天,你好",@"离歌",nil];
[maaddObject:@""];
for(inti = 0; i < array.count; i++) {
NSLog(@"%@",array[i]);
}
//插入
[mainsertObject:@"日不落"atIndex:3];
//删除
[maremoveObjectAtIndex:3];
for(inti = 0; i < ma.count; i++) {
NSLog(@" 3%@",ma[i]);
}
//替换
[mareplaceObjectAtIndex:4withObject:@"天亮了"];
for(inti = 0; i < ma.count; i++) {
NSLog(@" 4%@",ma[i]);
}
//交换指定位置的元素
[maexchangeObjectAtIndex:2withObjectAtIndex:1];
for(inti = 0; i < ma.count; i++) {
NSLog(@" 5%@",ma[i]);
}
//int类型转换为NSNumber对象类型存入数组
NSNumber*o1 = [NSNumbernumberWithInt:123];
NSNumber*o2 = [NSNumbernumberWithInt:234];
//float转换为NSNumber对象存入数组
NSNumber*o3 = [NSNumbernumberWithFloat:'A'];
NSNumber*o4 = [NSNumbernumberWithFloat:'Y'];
//把数组元素取出来,用xxxValue在转换为原来类型
NSArray*a2 = [NSArrayarrayWithObjects:o1,o2,o3,o4,nil];
intw = [[a2 objectAtIndex:0]intValue];
NSLog(@"a2 = %d",w);
floatb = [[a2 objectAtIndex:3]intValue];
NSLog(@"a2 = %.fd",b);

版权声明:本文为博主原创文章,未经博主允许不得转载。

Objective-C中可变与不可变字符串的学习

为了巩固学习,脱离智能提示,不是在xcode中编辑,是在文本格式下创建 1.创建对象 NSString *str1 = [[NSString alloc] initWithFormat:@"abcde...
  • Sugarjunfeng
  • Sugarjunfeng
  • 2015年07月17日 20:21
  • 653

OC与Swift中的字符串

一、OC中的字符串 引用类型在Object-C中,使用NSString和NSMutableString这两个类对字符串进行操作,一个字符串对象会被指针所引用。一般情况下,使用一个旧的字符串对象对一个新...
  • andanlan
  • andanlan
  • 2016年10月30日 21:51
  • 489

OC 字符串NSString 创建 拼接 插入 修改 删除 查找判断等基础用法

NSString 创建字符串 初始化方法 NSString *str = [[NSString alloc]init]; NSString *str = [[NSS...
  • haitianloves
  • haitianloves
  • 2016年04月16日 20:04
  • 644

字符串:可变字符串与不可变字符串

一 NSString是不可变字符串,所有它所有产生其他字符串方法都是生成一个新的字符串,而不会改变原来字符串 第一种:字面量,它是常量字符串,存储常量区 NSString *str = @"abc...
  • anywhereIOS
  • anywhereIOS
  • 2016年04月23日 00:01
  • 1481

IOS NSString NSMutableString 不可变|可变字符串

一. NSString NSString 是一个不可变的字符串类,继承自 NSObject ,用NSString创建出来的字符串对象,一经创建就不能再修改了.我们可以对它执行查找或比较等操作,但是不...
  • u014735194
  • u014735194
  • 2015年12月18日 18:50
  • 1703

Java 7之基础类型第6篇 - Java可变字符串类型

String、StringBuilder、StringBuffer的异同点 结合之前写的博文,我们对这三个常用的类的异同点进行分析: 异同点: 1>String的对象是不可变的;而StringBui...
  • mazhimazh
  • mazhimazh
  • 2013年12月31日 20:59
  • 3502

OC 数字对象和字符串对象

一 知识点 二 经典分析 三 (1)数字对象题目针对练习 练习题目1 - (void) t_Number {     //C中的基本数据类型转化成数字对象          //...
  • Ericios
  • Ericios
  • 2015年05月03日 09:54
  • 1100

oc不可变字符串和可变字符串相关操作

创建一个字符串对象  ? 1 2 3 4 5 6 7 8 9 NSstring * str1 ...
  • qq_30211165
  • qq_30211165
  • 2015年07月31日 17:43
  • 289

Java初学_可变字符串

StringBuffer基础知识、基本操作
  • Mr_LoveDing
  • Mr_LoveDing
  • 2016年12月12日 11:08
  • 986

OC可变字符串NSMutableString详解

1、已知NSMutableString继承自NSString,是可变字符串。而NSString是不可变字符串。 2、NSMutableString类型字符串的创建: 因为它完全继承自NSString,...
  • u013087513
  • u013087513
  • 2015年08月20日 16:43
  • 498
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OC之对不可变字符串、可变字符串、可变数组的操作及OC中字符串的排序
举报原因:
原因补充:

(最多只允许输入30个字)