#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;
}
Objective-C 字符串一 "不可变字符串"
最新推荐文章于 2018-08-07 22:24:44 发布