您的位置:首页 > 移动开发 > Objective-C

Objective-C 字符串一 "不可变字符串"

2015-12-15 20:10 507 查看
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
@autoreleasepool {

// NSString 不可变的字符串
// 1.初始化一个字符串
NSString *string1 = @"ibokanwisdom";
NSLog(@"string1 = %@",string1);   //string1 = ibokanwisdom

//使用NSString的类方法来创建字符串、 + (instancetype)stringWithFormat:@"格式化表示符"
NSString *string2 = [NSString stringWithFormat:@"%d, %.1f, hi guys",5,4.5];
NSLog(@"string2 = %@",string2);   //string2 = 5, 4.5, hi guys

//+ (instancetype)stringWithFormat:@"格式化表示符"  还可以拼接字符串
NSString *string3 = @"Rick";
NSString *string4 = @"666";
NSString *string5 = [NSString stringWithFormat:@"%@,%@",string3, string4];
NSLog(@"string5 = %@",string5);   //string5 = Rick,666

//从本地文件获取字符串   stringWithContentsOfFile
//   NSUTF8StringEncoding  代表中文
NSError *error;
NSString *string6 = @"/Users/zyx/Desktop/hello.html";
NSString *string7 = [NSString stringWithContentsOfFile:string6 encoding:NSUTF8StringEncoding error:&error];
// NSLog(@"string7 = %@",string7);

//从网络读取字符串     stringWithContentsOfURL
NSURL *url = [NSURL URLWithString:@"www.baidu.com"];
NSString *string8 = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
// NSLog(@"strint8 = %@",string8);

//字符串的操作
NSString *string9 = @"你是逗逼吗、我都想打你了";

//字符串的属性   长度  length
NSUInteger length = [string9 length];
NSLog(@"length = %ld",length);      //length = 12

//字符串的截取  subStringToIndex
NSString *string10 = [string9 substringToIndex:5];   //从起始位置0开始,
NSLog(@"string10 = %@",string10);   // string10 = 你是逗逼吗

NSString *string11 = [string9 substringFromIndex:6];  //从起始位置0到定义的位置X,从X开始 包含X 直到结束
NSLog(@"string11 = %@",string11);   // string11 = 我都想打你了

NSString *string12 = [string9 substringWithRange:NSMakeRange(3, 3)];    //从起始位置0  定义N开始  长度M结束
NSLog(@"string12 = %@",string12);   // string12 = 逼吗、

//获取某个字符
NSString *string13 = @"abcdefg";
//        NSString *string14 = [string13 substringToIndex:3];
//        NSLog(@"string14 = %@",string14);   //string14 = abc
char c = [string13 characterAtIndex:0];      //根据x数字  得到某个字符, 字符索引是从 0 开始
NSLog(@"c = %c",c);   // c = a

//比较字符串  如何判断字符串是否相等
if (string10 == string11) {
NSLog(@"string10 和 string11 相等");
} else {
NSLog(@"string10 和 string11 不想等");
}

NSString *subString1 = [NSString stringWithString:string13];
NSLog(@"subString1 = %@",subString1);  //subString1 = abcdefg

if(string13 == subString1)
{
//内容和指针都相等时、才成立
NSLog(@" string13 == subString1    yes");
}
else
{
NSLog(@"string13 == subString1     no");
}

//在实际开发过程中,我们通常只需要比较两个字符串的内容是否相等
NSString *subString2 = [NSString stringWithFormat:@"%@",subString1];
NSLog(@"subString2 = %@",subString2);

if ([subString1 isEqualToString:subString2]) {
NSLog(@"相等");
}
else
{
NSLog(@"不想等");
}

//比较字符串的大小
NSString *compString1 = @"hahehehehe";
NSString *compString2 = @"hehehehehe";
NSComparisonResult resulr = [compString1 compare:compString2];  //compare 表示判断

switch (resulr) {
case NSOrderedAscending:
{ NSLog(@"compString1 < compString2");}
break;
case NSOrderedSame:
{ NSLog(@"compString1 == compString2");}
break;
case NSOrderedDescending:
{ NSLog(@"compString1 > compString2");}
break;
default:
break;
}

//根据字符串拿到对应的range
//NSString *string9 = @"你是逗逼吗、我都想打你了";
NSRange range = [string9 rangeOfString:@"逗逼"];       //输出遇到该字符的 位置 以及 长度。从0开始
NSLog(@"range = %@",[NSValue valueWithRange:range]);  //range = NSRange: {2, 2}

//
NSRange range1 = [string9 rangeOfString:@"你"];
NSLog(@"%@",[NSValue valueWithRange:range1]);

//判断字符串是否有 xx前缀 或 xx后缀
NSString *string14 = @"http://www.baidu.com";
if ([string14 hasPrefix:@"http://"]) {
NSLog(@"有前缀");
} else {
NSLog(@"没有前缀");
}

NSString *string15 = @"avacag.jpg";
if ([string15 hasSuffix:@".jpg"]) {
NSLog(@"有后缀");
} else {
NSLog(@"没有后缀");
}

//字符串  拼接
NSString *string16 = @"www.baidu.com";
NSString *string17 = [@"http://" stringByAppendingString:string16];  //直接把两个字符串连接起来,调用者在前,传进来的字符串在后
NSLog(@"string17 = %@", string17);    // string17 = http://www.baidu.com 
//http://img0.bdstatic.com/img/image/shouye/hbmnp003.jpg
NSString *string18 = @"//http://img0.bdstatic.com/img/image/shouye";
NSString *string19 = @"hbmnp003.jpg";
NSString *string20 = [string18 stringByAppendingFormat:@"/%@",string19];  //按照一定的格式拼接
NSLog(@"string20 = %@",string20);  //string20 = //http://img0.bdstatic.com/img/image/shouye/hbmnp003.jpg

NSString *string21 = [string18 lastPathComponent];   //打印最后一个 ’/‘ 后面字符串
NSLog(@"string21 = %@",string21);   //string21 = shouye

NSString *string22 = @"Rick";
NSString *string23 = @"666";
NSString *string24 = [string22 stringByAppendingFormat:@".%@",string23];
NSLog(@"string24 = %@",string24);     //string24 = Rick.666

NSString *string25 = [string22 stringByAppendingPathExtension:string23];
NSLog(@"string25 = %@",string25);     //string25 = Rick666

//字符串的其他用法
NSString *stu1 = @"111abcd333";
int a1 = [stu1 intValue];
NSLog(@"%d",a1);
double b1 = [stu1 doubleValue];
NSLog(@"%lf",b1);
float c1 = [stu1 floatValue];
NSLog(@"%f",c1);

NSString *str1 = @"aaabbb";
NSString *str2 = [str1 uppercaseString];       //将字符全部换成大写
NSLog(@"str2 = %@", str2);  //str2 = AAABBB

NSString *str3 = [str1 lowercaseString];       //将字符全部换成小写
NSLog(@"str3 = %@",str3);   //str3 = aaabbb

NSString *str4 = [str1 capitalizedString];     //将首字母换成大写,其余的都是小写
NSLog(@"str4 = %@",str4);   //str4 = Aaabbb

//字符串替换函数
NSString *str5 = [str1 stringByReplacingOccurrencesOfString:@"b" withString:@"d"];  //替换
NSLog(@"str5 = %@",str5);   //str5 = aaaddd

NSString *str6 = [str1 stringByReplacingCharactersInRange:NSMakeRange(1, 2) withString:@"cc"];  //将原字符串中range范围内的内容替换成replacement的内容
NSLog(@"str6 = %@",str6);   //str6 = accbbb

NSString *str7 = @"aa-bb-cc-dd";
NSArray *array = [str7 componentsSeparatedByString:@"-"];
NSLog(@"array = %@", array);
//        array = (
//                 aa,
//                 bb,
//                 cc,
//                 dd
//                 )

}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: