#import <Foundation/Foundation.h>
#pragma mark 大小写
void caseTest(){
NSString *str=@"this is my first string";
//转为大写
NSLog(@"Capital words:%@",[str uppercaseString]);
//转为小写
NSLog(@"lower words:%@",[str lowercaseString]);
//首字母大写,其他小写
NSLog(@"the first word is capital:%@",[str capitalizedString]);
}
#pragma mark 比较字符串
void campare(){
//检测字符串的内容
bool result=[@"abc" isEqualToString:@"ABC"];
NSLog(@"%i",result);
//转为ascii码比较
NSComparisonResult result2=[@"abc" compare:@"ABC"];
//忽略大小写比较
NSComparisonResult reslt3=[@"abc" caseInsensitiveCompare:@" ABC"];
//NSOrderedSame 两边字符串的内容相同
//NSOrderedAscending 右边>左边
//NSOrderedDescending 右边<左边
if (result2==NSOrderedSame) {
NSLog(@"same");
} else if (result2==NSOrderedAscending) {
NSLog(@"right>left");
}else if(result2==NSOrderedDescending){
NSLog(@"left>right");
}
}
#pragma mark 搜索
void search(){
NSString *str=@"123456456.txt";
//hasPrefix检测开头
//hasSuffix检测结尾
NSLog(@"是否以12开头:%i", [str hasPrefix:@"12"]);
NSLog(@"是否以.txt结尾:%i",[str hasSuffix:@".txt"]);
//rangeOfString返回在字符串中的位置
//找到返回:location 和 length
//如果没有,location返回nsnotfound, length返回0
//只找到第一个就结束
NSRange range=[str rangeOfString:@"456"];
if(range.length==0){
NSLog(@"can not find");
}else {
NSLog(@"%@",NSStringFromRange(range));
}
//从尾部开始搜索
NSRange range2=[str rangeOfString:@"456" options:NSBackwardsSearch];
NSLog(@"%@",NSStringFromRange(range2));
//制定范围搜索
/* NSRange range3=[str rangeOfString:@"456" options:NSBackwardsSearch range:(<#NSRange range#>)];
NSLog(@"%@",NSStringFromRange(range2));*/
}
# pragma mark 字符串的截取
void subString(){
NSString *str=@"12345678";
//从索引3截取到尾部(包括3)
NSLog(@"%@",[str substringFromIndex:3]);
//从头部截取到索引3以前(不包括3)
NSLog(@"%@",[str substringToIndex:3]);
//指定范围进行截取
//先定义范围
NSRange range=NSMakeRange(3, 2);
NSLog(@"%@",[str substringWithRange:range]);
}
#pragma mark 分割字符串
void separateString(){
NSString *str=@"1-2-3-4-5";
//以“-”为分隔符对字符串进行切割
//返回值为数组,用array存放
NSArray *array=[str componentsSeparatedByString:@"-"];
NSLog(@"%@",array);
//根据索引位置取出集合中元素
NSString *str2=[array objectAtIndex:0];
NSLog(@"%@",str2);
}
#pragma mark 与路径相关的
void pathTest(){
//快速创建一个自动释放的可变数组
NSMutableArray *components =[NSMutableArray array];
[components addObject:@"users"];
[components addObject:@"my"];
[components addObject:@"destop"];
//将数组中的字符串拼接成一个路径之间加上"/"
NSString *path=[NSString pathWithComponents:components];
NSLog(@"%@",path);
//将路径切割成数组
NSArray *comp= [path pathComponents];
NSLog(@"%@",comp);
//判断绝对路径和相对路径:依据就是路径是不是由“/”开始
path=@"users/my/desktop";
NSLog(@"%i",[path isAbsolutePath]);
//获取最后一个目录
NSLog(@"%@", [path lastPathComponent]);
//删除最后一个目录
NSLog(@"%@",[path stringByDeletingLastPathComponent]);
//在路径后面拼接一个目录:自动添加"/"
NSLog(@"%@", [path stringByAppendingPathComponent:@"aa"]);
}
#pragma mark 扩展名处理
void extension(){
NSString *str=@"test.txt";
//获得扩展名
NSLog(@"%@",[str pathExtension]);
//删除尾部的扩展名
NSLog(@"%@",[str stringByDeletingPathExtension]);
//尾部添加一个扩展名,自动加“.”
NSLog(@"%@",[str stringByAppendingPathExtension:@"app"]);
}
#pragma mark 其他方法
void other(){
NSString *str=@"asdfghendjrkke";
NSString *str2=@"1234";
//返回字符串的字数
NSLog(@"%zi",[str length]);
//返回index位置对应得字符
unichar c=[str characterAtIndex:3];
NSLog(@"%c",c);
//转为c语言的字符串
NSLog(@"%f", [str2 doubleValue]);
NSLog(@"%f", [str2 floatValue]);
NSLog(@"%i", [str2 intValue]);
const char *s=[str2 UTF8String];
NSLog(@"%s", s);
}
int main(int argc, const char * argv[])
{
@autoreleasepool {
// insert code here...
NSLog(@"Hello, World!");
caseTest();
campare();
search();
subString();
separateString();
pathTest();
extension();
other();
}
return 0;
}