问题要求:
@"/home/user/lpn/a/b/../c/./d" 转变成:
@"/home/user/lpn/a/b/c/d" 不存在相对路径
注: ../ 是上一级目录 ./是当前目录 /是根目录
利用- (NSArray *)componentsSeparatedByString: 实例方法
代码实现:
NSString *str1 = @"/home/user/lpn/a/b/../c/./d";
NSArray *arrs = [str1 componentsSeparatedByString:@"/"];
NSLog(@"分割之后:%@", arrs);
NSMutableString *strM = [NSMutableString stringWithString:@"/"];
for (NSString *s in arrs) {
// 第一个/之前分割出是个空字符串
if ([s isEqualToString:@".."] || [s isEqualToString:@"."] || [s isEqualToString:@""]) {
continue;
}else{
[strM appendString:s];
[strM appendString:@"/"]; // 组合分割
}
}
NSLog(@"转换之后: %@", strM);
打印结果:

网友评论