从iOS中的路径中删除点/双点

cas*_*las 0 path objective-c ios

必须删除路径的所有单点组件.

例如,"abi /./ bune"应该标准化为"abi/bune".

必须删除路径的所有双点组件及其父目录.例如,"abi/ba /../ bune"应归一化为"abi/bune".

不使用正则表达式.任何想法如何实现?

Dan*_*son 5

这可以通过致电来实现

NSString *standardizedPath = [path stringByStandardizingPath];
Run Code Online (Sandbox Code Playgroud)

例如:

"/usr/bin/./grep"         ->    "/usr/bin/grep"
"/usr/include/objc/.."    ->    "/usr/include"
Run Code Online (Sandbox Code Playgroud)

值得注意的是,这也删除了任何初始组件/private并尝试使用扩展任何初始波形符表达式stringByExpandingTildeInPath.

  • @ mc01不,`..`上升到一个目录.所以```和`objc`一起被删除了 (2认同)