// 第四章 字符串
//OC字符串:unichar(unicode码)组成 C语言:ASCII码
//不可变字符串 NSString 自身的长度以及内容都是不可变的
{
{
NSString *str1 = @"change";
str1 = @"IOS";
//@"change" = @"IOS";错误写法
}
//1.创建字符串的五种方式:
{
//第一种:
NSString *str = @"我勒个去";//语法糖 常量字符串 字面量
//第二种:
NSString *_str = [[NSString alloc]initWithString:@"我勒个去"];
//第三种: 通过一个字符串创建另外一个字符串 用的很少
NSString *str5 = [[NSString alloc]initWithString:str];
//第四种: 创建一个格式化字符串
NSString *str1 = [[NSString alloc]initWithFormat:@"%@, 大湿胸, 师傅被妖怪抓走了", str];//字符串拼接
//第五种:
NSString *str4 = [NSString stringWithFormat:@"%@ %@",str1, str1];//便利构造器
}
//2.字符串的常用方法
{
NSString *str = @"helloworld";
//1.从索引处开始截取,截取到字符串最后
NSString *result = [str substringFromIndex:5];
//2.从字符串开始截取到索引处,但是不包括索引处的字符
NSString *str1 = [str substringToIndex:5];
//3.截取指定范围内的字符
NSString *str2 = [str substringWithRange:NSMakeRange(2, 5)];
NSRange range = {2, 5};
NSString *str4 = [str substringWithRange:range];
//4.字符串的拼接
NSString *str3 = [str1 stringByAppendingString:str2];
//5.判断两个字符串是否相等
BOOL result1 = [str1 isEqualToString:str2];
//6.字符串比较的返回值, 升序, 相等, 降序
NSComparisonResult comparisonResult = [str1 compare:str2];
switch (comparisonResult) {
case NSOrderedAscending:
NSLog(@"str1比str2小");
break;
case NSOrderedSame:
NSLog(@"str1和str2相等");
break;
case NSOrderedDescending:
NSLog(@"str1比str2大");
break;
default:
break;
}
//7.判断一个字符串是否以**开头
[str hasPrefix:@"Jen"];
//8.判断一个字符串是否以**结尾
[str hasSuffix:@"vi"];
//9.是否包含某个字符串
[str containsString:@" l"];
//10.大小写转换
NSString *strA = [str uppercaseString];
NSString *strB = [str lowercaseString];
//每个单词的首字母大写, 其余小写
NSString *strC = [str capitalizedString];
//11.替换
{
//根据范围来替换
NSString *str = @"苍苍老师.rmvb";
NSString *str1 = [str stringByReplacingCharactersInRange:NSMakeRange(5, 4) withString:@"avi"];
//将str中所有的"苍"替换成"波波"
NSString *str2 = [str1 stringByReplacingOccurrencesOfString:@"苍" withString:@"波波"];
NSLog(@"%@",str2);
}
//12.OC和C语言字符串的转换
{
//将C字符串转换成OC字符串
char *a = "iPhone";
NSString *str = [[NSString alloc]initWithUTF8String:a];
//将OC字符串转换成C字符串
const char *q = [str UTF8String];
}
}
}
//可变字符串 NSMutableString 继承不可变字符串 引用不可用字符串方法仍需返回
{
//1.字符串的定义
NSMutableString *mStr = [[NSMutableString alloc]initWithString:@"ione"];
//2.插入字符串
[mStr insertString:@"Ph" atIndex:1];
//3.拼接字符串
[mStr appendString:@"6s"];
//4.根据范围删除
[mStr deleteCharactersInRange:NSMakeRange(3, 3)];
NSLog(@"%@",mStr);
//5.替换:替换后可以任意长度
[mStr replaceCharactersInRange:NSMakeRange(3, 2) withString:@"one6s plus"];
}