您的位置:首页 > 其它

OC中字符串NSstring

2015-08-09 19:52 316 查看
//NSString不可变字符串类型
NSString*str0=@"IOS";

//1,创建字符串的方法
//(1)实例方法
NSString* str1=[[NSString
alloc]initWithFormat:@"IOS"];
//
NSString*str2=[[NSString
alloc]initWithFormat:@"ios:%d",12];

NSString*str3=[[NSString
alloc]initWithString:str0];

NSLog(@"str1:%@ str2:%@ str3:%@",str1,str2,str3);

//(2),类方法
NSString*str4=[NSString stringWithFormat:@"iii"];

NSString*str5=[NSString stringWithFormat:@"ios:%d",90];

NSString*str6=[NSString stringWithString:str4];

NSLog(@"str4:%@ str5:%@ str6%@",str4,str5,str6);

//字符串操作
//(1),统计长度
NSString*str=[NSString stringWithFormat:@"342435"];

NSInteger changdu=[str length];
NSLog(@"length:%lu",changdu);
//(2),索引提取(字符串截取)
NSString*str=@"123456789";
NSString*substr1=[str substringFromIndex:3];//456789
NSLog(@"%@",substr1);
NSString*substr2=[str substringToIndex:3];//123
NSLog(@"%@",substr2);

NSRange range=NSMakeRange(3,
4);//4567从序号3开始截取4个
NSString*substr3=[str substringWithRange:range];
NSLog(@"%@",substr3);

//(3),比较
NSString*str1=[[NSString alloc]initWithFormat:@"IoS"];
NSString*str2=[[NSString alloc]initWithFormat:@"ios"];
BOOL mybool=[str1 isEqualToString:str2];
NSLog(@"mybool is:%d",mybool);

if ([str1 compare:str2]==NSOrderedSame) {
NSLog(@"1111");
}else
if ([str1 compare:str2]==NSOrderedAscending){
NSLog(@"2222");//表示str1大于str2
}else {
NSLog(@"3333");
}

if ([str1 caseInsensitiveCompare:str2]==NSOrderedAscending) {
NSLog(@"str1<str2");
}else
if([str1 caseInsensitiveCompare:str2]==NSOrderedDescending){
NSLog(@"str1>str2");
}else{
NSLog(@"==");//不区分大小写~~~~~~~~~~~~
}

//(4)字符串查找
NSString*str=[[NSString alloc]initWithFormat:@"哎呦不错哦"];
NSString*substr=[[NSString alloc]initWithFormat:@"错"];

NSRange range=[str rangeOfString:substr];
if (range.location!=NSNotFound) {
NSLog(@"%lu,%lu",(unsigned
long)range.location,range.length);
}else{
NSLog(@"没找到");
}

//(5)判断前后缀(2种)
NSString*str1=[[NSString alloc]initWithFormat:@"Frankaddhouse"];
if ([str1 hasPrefix:@"Fr"]) {
NSLog(@"前缀是Fr哦");
}else{
NSLog(@"No");
}

if ([str1 hasSuffix:@"se"]) {
NSLog(@"后缀是se哦");
}else{
NSLog(@"No");
}

//(6),转换数字(4种)

NSString*str_int=@"2323";

int strNumber=[str_int intValue];
NSLog(@"%i",strNumber);

//(7),大小写转化(3种)
NSString*str1=@"hello world";
NSString*str2=[str1 uppercaseString];//小写变大写
NSLog(@"str after up is:%@",str2);

NSString*str3=[str2 lowercaseString];//大写变小写
NSLog(@"str after lower is:%@",str3);

NSString*str4=[str3 capitalizedString];//首字母大写,其他字母小写
NSLog(@"str after up is:%@",str4);

//(8)字符串提取和NSRange
NSString*str=@"123456789";
NSRange range=NSMakeRange(3,
4);
NSString*substr=[str substringWithRange:range];
NSLog(@"%@",substr);

//(9),从本地读取文件内容
NSString*path=[[NSString alloc]initWithContentsOfFile:@"/Users/Jessee/Desktop/heheda.c" encoding:NSUTF8StringEncoding error:nil];

NSLog(@"%@",path);

可变字符串::::::::::::::::::::::::
//可变字符串 :
不可变字符串
//可变字符串是不可变字符串的子类

//1,创建可变字符串(mutable可变的)
//表示创建了一个“长度”为10的可变字符串。
//“长度”表是让编译器先分配给字符串多大内存
NSMutableString*str=[[NSMutableString
alloc]initWithCapacity:10];

str=[NSMutableString
stringWithFormat:@"1234567890987654321"];
NSLog(@"%@",str);

//2,可变字符串的操作
//(1,增)

NSMutableString *str1=[[NSMutableString
alloc]initWithFormat:@"12345"];
//添加字符串,从内存上,根本的改变了这个字符串
[str1 appendString:@"67890"];
[str1 appendFormat:@"JQKA"];
NSLog(@"%@",str1);

[str1 insertString:@"王炸" atIndex:14];
NSLog(@"%@",str1);

//(2,删)
NSMutableString *str=[[NSMutableString alloc]initWithFormat:@"123456"];
NSRange range=NSMakeRange(3,
2);

[str deleteCharactersInRange:range];//可以删除可变字符串中的某一段
NSLog(@"%@",str);

//(3,改)
NSMutableString *str=[[NSMutableString alloc]initWithFormat:@"123456"];
NSRange range=NSMakeRange(3,
2);
[str replaceCharactersInRange:range withString:@"qq"];
NSLog(@"%@",str);

(4,查)
注释:参见不可变字符串
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: