//
// main.m
// Nsstring 常用方法
//
// Created by 裴烨烽 on 14-1-29.
// Copyright (c) 2014年 裴烨烽. All rights reserved.
//
#import <Foundation/Foundation.h>
//大小写处理
void caseTest(){
NSString *str=@"GuangDong";
//转成大写
NSLog(@"大写:%@",[str uppercaseString]);
//转成小写
NSLog(@"小写:%@",[str lowercaseString]);
//首字母变大写,其他字母都变小写
NSLog(@"首字母大写,其他小写:%@",[str capitalizedString]);
}
//检测字符串的内容是否相同
void compare(){
BOOL result=[@"abc" isEqualToString:@"abc"]; //因为是bool类型的所以返回值为1或0,是1的话就为真否则为假。
NSLog(@"%i",result);
}
//比较两个字符串的大小
void compare2(){
//NSOrderedAscending //右边的字符串比左边的大
//NSOrderedSame //两个字符串的内容相同
//NSOrderedDescending 左边的字符串比右边的大
NSComparisonResult result=[@"abc" compare:@"Abc"];
if(result==NSOrderedSame)
{
NSLog(@"两个字符串的内容相同");
}
else if(result==NSOrderedAscending){
NSLog(@"右边的>左边的 ");
}
else if(result==NSOrderedDescending)
{
NSLog(@"左边的>右边的");
}
}
//字符串的搜索
void search(){
NSString *str=@"123456.txt";//这样的文件名
// [str hasPrefix:@"12"];//判断字符串是否是以12开头
NSLog(@"是否以12开头:%i",[str hasPrefix:@"12"]);
//判断字符串str是否以txt结尾
NSLog(@"是否以txt结尾:%i",[str hasSuffix:@"txt"]);
//判断345在str字符串的位置(范围);
//如果有,会找到返回的位置和长度,找不倒的话,就返回0
NSRange range=[str rangeOfString:@"345"];
NSLog(@"%@",NSStringFromRange(range));
//找到 Nsstring 常用方法[940:303] {2, 3}
//找不到常用方法[956:303] {9223372036854775807, 0}
if(range.location==NSNotFound){
NSLog(@"不能找到");
}else{
NSLog(@"找到的范围是:%@",NSStringFromRange(range));
}
//常用方法[994:303] 不能找到
//从尾部开始搜索
range=[str rangeOfString:@"456" options:NSBackwardsSearch];
NSLog(@"%@",NSStringFromRange(range));
//指定的范围你行搜索
[str rangeOfString:@"456" options:NSBackwardsSearch ];
}
//字符串的截取
void subString()
{
NSString *str=@"123456";
//从索引3开始截取字符串到尾部
NSLog(@"%@",[str substringFromIndex:3]);
//从头开始一直截取到这个索引之前
NSLog(@"%@",[str substringToIndex:3]);
//从某一个范围进行截取
NSRange range=NSMakeRange(2, 3);
NSLog(@"%@",[str substringWithRange:range]);
//以某一字符作为分隔符然后截取
NSString *str2=@"1,2,3,4,5";
NSArray *array=[str2 componentsSeparatedByString:@","];
NSLog(@"%@",array);
//根据索引取数据
NSString *str3=[array objectAtIndex:2]; //objectAtIndex就是索引数据
NSLog(@"%@",str3);
}
//与路径相关的
void pathTest(){
//快速创建一个自动释放的数组
NSMutableArray *components=[NSMutableArray array]; //可变数组
[components addObject:@"Users"];
[components addObject:@"MJ"];
[components addObject:@"Desktop"];
//将数组中的所有字符串拼接成一个路径
NSString *path= [NSString pathWithComponents:components];
NSLog(@"%@",path);//拼接结果常用方法[1281:303] Users/MJ/Desktop
//将一个路径拆分成几个数组
NSArray *cmps=[path pathComponents];
NSLog(@"%@",cmps);
//判断是不是绝对路径
//判断依据就是在最前面是不是有斜杠“/”
path=@"users/mj/test";
NSLog(@"%i",[path isAbsolutePath]);// 0
//查询最后一个文件夹
path=@"users/mj/test";
NSLog(@"最后一个目录:%@",[path lastPathComponent]);//最后一个目录:test
//获得最后一个目录并且把他删除,然后返回一个新的路径
path=@"users/mj/test";
NSLog(@"%@",[path stringByDeletingLastPathComponent]);//users/mj
//在路径的后面再拼接一个路径
NSLog(@"%@",[path stringByAppendingPathComponent:@"abc"]);//users/mj/test/abc
}
//拓展名处理
void exetension(){
NSString *str=@"/User/MJ/test.txt";
//判断拓展名
NSLog(@"拓展名:%@",[str pathExtension]);//拓展名:txt
//删掉拓展名
NSLog(@"%@",[str stringByDeletingPathExtension]);///User/MJ/test
//在字符串后面拼接一个拓展名
NSLog(@"%@",[@"abc"stringByAppendingPathExtension:@"mp3"]);//abc.mp3
}
//nsstring 的其他用法
void other()
{
//将字符串str强行转换为int类型
NSString *str=@"12222";
int a=[str intValue];
NSLog(@"%i",a);//12222
int bb=[str doubleValue];
NSLog(@"%i",bb);//12222
int cc=[str floatValue];
NSLog(@"%i",cc);//12222
//判断字符串的字数,不是计算字符数
NSLog(@"length=%zi",[@"我是字符串" length]);//length=5
//取出对应的字符
unichar c =[@"abc" characterAtIndex:0];//a
NSLog(@"%c",c);
//返回c语言中的字符串
const char *s=[@"abc" UTF8String]; //abc
NSLog(@"%s",s);
}
int main(int argc, const char * argv[])
{
@autoreleasepool {
//caseTest();
// compare();
// compare2();
//search();
// subString();
//pathTest();
//exetension();
other();
}
return 0;
}