oc中的数组:NSArray(二)
//Set集合的子类NSMutableSet类似于Array的子类是可变长度的集合 也可以增加删除元素
//按住windows键和鼠标左键可以查看其中定义的方法来进行使用
三、字符串
Cocoa为我们准备了一个与字符串操作相关的结构体NSRange
NSRange:
表示相关事物的范围,包含两个成员,一个是长整型location,表示起始位置,另外一个是长整型length表示长度
比如要得到一个起始位置为10,3个长度的范围,它可以有三种方式创建:
第一种调用函数可以这么写:
NSRange range =NSMakeRange (10,3);
第二种直接给成员赋值:
NSRange range;
range.location=10;
range.length=3;
第三种应用C语言的聚合结构赋值机制:
NSRange range ={10,3};
字符串的使用:(如下)
int main(int argc,const char * argv[])
{
//一、字符串的创建
//第一种直接创建
NSString *str=@"zhangsan";
//创建空的字符串
NSString *str1=[[NSStringalloc]init];
NSLog(@"str=%@,str1=%@",str,str1);
//依赖创建 str2相当于是str的指针
NSString *str2=[NSStringstringWithString:str];//str2依赖str,str释放后,str2变空
NSLog(@"str2=%@",str2);
//第四种重点
NSString *str3=[NSStringstringWithFormat:@"%@ love iPhone%d5.",str,5];
NSLog(@"%@",str3);
//二、字符串的长度
NSLog(@"str3的长度是:%ld",[str3 length]);
//三、字符串的比较
NSString *str4=[NSStringstringWithFormat:@"zhangsan"];
if(str==str4)//和java中一样,采用==来判断两个字符串是否相等时,判断的是地址是否相等,而不是内容是否相等
{
NSLog(@"== 相等");
}
if ([strisEqualToString:str4]) {//和java中的类似,判断两个字符串的内容是否相等,采用isEqualToString函数
NSLog(@"isEqualToString 相等");
}
//四、字符串的大小比较
//采用 compare方法,返回枚举类型[-1,0,1],NSOrderedAscending(1)升序,前者大于后者、NSOrderedSame(0)相等,前者等于后者、NSOrderedDescending(-1)前者小于后者
//compare从第一个字母开始往后比较,比较的是字母的ASC码
NSString *str5=@"abc";
switch ([str4 compare:str5] ) {
caseNSOrderedAscending:
NSLog(@"大于");
break;
caseNSOrderedSame:
NSLog(@"等于");
break;
caseNSOrderedDescending:
NSLog(@"小于");
break;
default:
break;
}
//五、前缀 后缀 的判断
//后缀的判断用 hasSuffix函数返回bool类型
NSString *str6=@"
IOS.doc";
if ([str6hasSuffix:@".doc"]) {//判断str6是否是以.doc结尾
NSLog(@"这是一个word文档");
}
//前缀的判断用 hasPrefix函数返回bool类型
NSString *str7=@"http://www.baidu.com";
if ([str7hasPrefix:@"http://"]) {//判断str7是否以http://开头
NSLog(@"这是一个网址");
}
//六、查找子字符串 rangeOfString函数
//NSRange为一个结构体,在定义变量的时候不需要在变量前加*
//NSRange包含两个成员:location和length;其中localtion表示字符串的位置(一般都是从0开始的),length表示字符串的长度表示一个字符串的范围
NSRange range=[str7 rangeOfString:@"www"];//定义一个结构体变量,并为其赋初值
if (range.location!=NSNotFound)//查找子字符串在父字符串中的位置range.location
{
NSLog(@"location:%ld,length:%ld",range.location,range.length);
}else
{
NSLog(@"未找到字符串");
}
//七、截取子字符串
NSLog(@"%@",[str7substringFromIndex:7]);//从位置为7的位置到最后(包含第七个位置)
NSLog(@"%@",[str7substringToIndex:7]);//从开头到第七个位置(不包含第七个位置)
NSLog(@"%@",[str7substringWithRange:range]);//从range范围截取字符串
//八、字符串的转换
NSString *str8=@"123";
int num=[str8intValue];//将字符串str8转换成int基本类型
NSLog(@"%d",num);
NSLog(@"%@",[str7 uppercaseString]);//转换成大写
NSLog(@"%@",[str7 lowercaseString]);//转换成小写
NSLog(@"%@",[str7 capitalizedString]);//每句首字母大写
//九、字符串的替换
//1、stringByReplacingOccurrencesOfString方法(全部替换)
NSString *str9=@"2
| 评论 |
|
|