- 不要等到明天,明天太遥远,今天就行动。
须读:看完该文章你能做什么?
字符串的路径处理(添加删除路径、扩展名)
学习前:你必须会什么?(在这里我已经默认你具备C语言的基础了)
NSString的基本使用
一、本章笔记
一、字符串路径相关
1.判断是不是绝对路径
@property (getter=isAbsolutePath, readonly) BOOL absolutePath;
2.获取文件路径中的最后一个目录
@property (readonly, copy) NSString *lastPathComponent;
3.删除文件路径中的最后一个目录
@property (readonly, copy) NSString *stringByDeletingLastPathComponent;
4.给文件路径添加一个目录
- (NSString *)stringByAppendingPathComponent:(NSString *)str;
5.获取路径中文件的扩展名
@property (readonly, copy) NSString *pathExtension;
6.删除路径中文件的扩展名
@property (readonly, copy) NSString *stringByDeletingPathExtension;
7.给文件路径添加一个扩展名
- (nullable NSString *)stringByAppendingPathExtension:(NSString *)str;
二、code
main.m
#pragma mark 14-字符串和路径
#pragma mark - 代码
#import <Foundation/Foundation.h>
#pragma mark 类
#pragma mark - main函数
int main(int argc, const char * argv[])
{
// NSString *str = @"/User/liyuhong165/Desktop/lyh165.txt/abc";
#pragma 1.判断是不是绝对路径
// 其实本质就是判断那 字符串是不是以 / 开头
/*
if ([str isAbsolutePath])
{
NSLog(@"是绝对路径");
}
else
{
NSLog(@"不是绝对路径");
}
*/
#pragma 2.获取文件路径中的最后一个目录
/*
// 本质就是获取路径最后一个/后面的内容
NSString *newStr = [str lastPathComponent];
NSLog(@"newStr = %@",newStr);
*/
#pragma 3.删除文件路径中的最后一个目录
/*
// 本质 就是删除最后一个/后面的内容, 包括/ 也会删除
NSString *newStr = [str stringByDeletingLastPathComponent];
NSLog(@"newStr = %@",newStr);
*/
#pragma 4.给文件路径添加一个目录
/*
// 本质就是在字符串的末尾 加上一个 / 和 指定内容
// 注意 : 如果路径后面已经有了 / , 那么就不会添加了
// 如果路径后面有 多个/ , 那么会自动删除多余的 / , 只保留一个
NSString *newStr2 = [str stringByAppendingPathComponent:@"123"];
NSLog(@"newStr2 = %@",newStr2);
*/
#pragma 5.获取路径中文件的扩展名
// 本质就是从字符串的末尾 开始查找, 截取第一个.后面的内容
NSString *str = @"/User/liyuhong165/Desktop/lyh165.txt.jpg";
NSString *newStr = [str pathExtension];
NSLog(@"newStr = %@",newStr);
#pragma 6.删除路径中文件的扩展名
// 本质就是从字符串的末尾 开始查找. , 删除第一个.后面的内容
NSString *newStr2 = [str stringByDeletingPathExtension];
NSLog(@"newStr2 = %@",newStr2);
#pragma 7.给文件路径添加一个扩展名
// 本质 就是字符串的末尾加上一个. 和指定的内容
NSString *newStr3 = [str stringByAppendingPathExtension:@"png"];
NSLog(@"newStr3 = %@",newStr3);
return 0;
}