标签:
#define PATH @"/users/yunlong/desktop/file1.rtf"
#if 0
// 一.NSString不可变字符串
int main(int argc, const char * argv[]){
@autoreleasepool {
// 1.创建字符串对象
NSString *str = @"hello,WORLD";
NSString *str1 = [[NSString alloc]initWithString:str];
NSString *str2 = [[NSString alloc]initWithUTF8String:"hello"];
NSString *str3 = [[NSString alloc]initWithFormat:@"%@/%@",str,str1];
NSString *str4 = [[NSString alloc]initWithFormat:@"%d",88];
// 上述四种需要操心内存
NSString *str5 = [NSString stringWithString:str];
// C字符串转换成OC字符串
NSString *str6 = [NSString stringWithUTF8String:"hello"];
// 把C语言字符串转换成OC字符串,并且指定编码方式
NSString *str7 = [NSString stringWithCString:"hello" encoding:NSUTF8StringEncoding];
NSString *str8 = [NSString stringWithFormat:@"%d",88];
// 上述str5-8是类方法创建,不需要操心内存
// 2.追加字符串
NSString *str9 = [str stringByAppendingString:@"world"];
// 3.字符串分割方法
NSArray *array1 = [str componentsSeparatedByString:@","];
// 4.字符串提取
unichar c = [str characterAtIndex:2];//提取第i个元素,返回值为unichar
NSString *str11 = [str substringToIndex:2];//从头提取到索引2(取0.1不含2)
NSString *str12 = [str substringFromIndex:2];//从索引2提取到结束(含2)
NSString *str13 = [str substringWithRange:NSMakeRange(1, 2)];//指定范围提取
// 5.读取文件的标准格式
NSString *content1 = [NSString stringWithContentsOfFile:PATH encoding:NSUTF8StringEncoding error:nil];
NSString *content2 = [[NSString alloc]initWithContentsOfFile:PATH encoding:NSUTF8StringEncoding error:nil];
// 6.比较字符串
BOOL bl = [str1 isEqualToString:str2];//返回布尔值,相等:1,不相等:0.
NSComparisonResult rec = [str compare:str1];//返回值为-1 0 1
/**
并且可以指定比较规则
NSCaseInsensitiveSearch 忽略大小写
NSLiteralSearch 完全比较
NSBackwardsSearch 从后往前
*/
rec = [str1 compare:str2 options:NSCaseInsensitiveSearch];
/**
typedef NS_ENUM(NSInteger, NSComparisonResult)
{NSOrderedAscending 升序 st1<st2 返回值-1
NSOrderedSame 相等 st1=st2 返回值 0
NSOrderedDescending}; 降序 st1>st2 返回值 1
*/
// 常用判断方式
if(rec == NSOrderedAscending)
{
NSLog(@"%@",@"左边小于右边---升序");
}
// 7.不考虑大小写比较字符串
NSComparisonResult rec1 = [str caseInsensitiveCompare:str2];
// 8.大小写转化
NSString *str14 = [str uppercaseString];//小写转大写
NSString *str15 = [str lowercaseString];//大写转小写
NSString *str16 = [str capitalizedString];//单词首字母大写 其余小写,其他字符保持不变
// 9.搜索字符串
// 在字符串str中搜索有没有出现过子字符串str1,返回的是第一次出现过的范围
NSRange range1 = [str rangeOfString:str1];
NSRange range2 = [str rangeOfString:@"l"];
//想要判断是否出现过,可以有两种方式
//1.判断length是否为0
//2.判断出现的位置
if(range1.location == NSNotFound)
{
NSLog(@"location = %ld",range1.location);
NSLog(@"length = %ld",range1.length);
}
// NSMakeRange(location,length)创建一个range结构体类型
// 10.判断前后缀
BOOL hs = [str hasSuffix:@"LD"];//判断后缀,返回布尔值
BOOL hp = [str hasPrefix:@"he"];//判断前缀,返回布尔值
NSLog(@"%d",hp);
// 11.取字符串的长度
NSUInteger len = [str length];
NSLog(@"%lu",len);
// 12.字符串转其他类型
// 注意不要在字符串中包含字符
NSString *str18 =@"123321";
int num1 = [str18 intValue];
float num2 = [str18 floatValue];
double num3 = [str18 doubleValue];
BOOL num4 = [str18 boolValue];
NSLog(@"str18 = %@ num1 = %d",str18,num1);
NSLog(@"str18 = %@ num1 = %f",str18,num3);
// 13.直接将range转换成字符串
NSString *str19 = NSStringFromRange(NSMakeRange(1, 3));
NSLog(@"%@",str19);
// 14.拷贝
NSString *str20 = [str copy];
NSLog(@"%@",str20);
// 15.读网络文件
NSString *str21 = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.baidu.com/file1.rtf"] encoding:NSUTF8StringEncoding error:nil];
}
return 0;
}
#endif
#if 0
// 二.NSMutableSring可变字符串
// 可变仅仅是在不可变的基础上增加了 增 删 改
int main(int argc, const char * argv[]){
@autoreleasepool {
// 1.创建字符串
NSString *str1 = @"hello,WORLD.";
NSMutableString *str2 = [NSMutableString stringWithString:str1];
// 2.可以实现可变和不可变之间的转换
NSString *str3 = [NSString stringWithString:str2];
NSLog(@"%@",str3);
// 3.在可变字符串的末尾增加字符串-------增
[str2 appendString:@"nihao"];
NSLog(@"%@",str2);
// 4.在可变字符串的末尾格式化的追加字符串-------增
[str2 appendFormat:@"%d,%.2f",2014,12.21];
NSLog(@"%@",str2);
// 5.往可变字符串指定的索引的位置插入一个字符串-------插入
[str2 insertString:@"ooooooo" atIndex:6];
NSLog(@"%@",str2);
// 6.删除可变字符串的一段内容-------删
[str2 deleteCharactersInRange:NSMakeRange(2, 3)];
NSLog(@"%@",str2);
// 7.用指定的字符串替换可变字符串内指定范围的内容-------替换
[str2 replaceCharactersInRange:NSMakeRange(2, 3) withString:@"aaaaaaa"];
NSLog(@"%@",str2);
// 8.直接把字符串设置成某一个内容,可以用来清空字符串-------改---清空
[str2 setString:@"qq"];
NSLog(@"%@",str2);
// 9.将OC字符串转为C语言字符串
const char *cStr = [str2 UTF8String];
NSLog(@"%s",cStr);
}
return 0;
}
#endif
标签:
原文地址:http://www.cnblogs.com/wuyunlong/p/4177057.html