NSURL 文件扩展名添加等
我从 savePanel 工作表收到了一个 URL,我想执行以下操作:
- 检查它是否有扩展名
- (如果有),将其删除,
- 则添加自定义扩展名
- 如果没有,
,然后添加自定义扩展名任何简单的方法这..我尝试了类似以下的方法,但它不起作用
if ( [tmp pathExtension] != @"xxx" )
path = [tmp stringByAppendingFormat:@"xxx"];
……可能的解决方案如下
NSString *path;
NSURL *filepath;
fileurl = [sheet URL];
fileurl = [fileurl URLByDeletingPathExtension];
fileurl = [fileurl URLByAppendingPathExtension:@"yyy"];
path = [fileurl path];
I have received a URL from the savePanel sheet and I would like to do following:
- Check to see if it has an extension
- if it does, remove it
- add a custom extension
- if it does not, then add a custom extension
Any simple way to do this.. I tried something like following but it does not work
if ( [tmp pathExtension] != @"xxx" )
path = [tmp stringByAppendingFormat:@"xxx"];
OK... A possible solution as follows
NSString *path;
NSURL *filepath;
fileurl = [sheet URL];
fileurl = [fileurl URLByDeletingPathExtension];
fileurl = [fileurl URLByAppendingPathExtension:@"yyy"];
path = [fileurl path];
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这可以使用 NSString 的方法来实现。请注意,对于字符串比较,您必须使用
isEqualToString:
,而不是==
,它测试指针是否相等。关于扩展使用:
-(NSString *)pathExtension;
。要删除扩展,请使用-(NSString *)stringByDeletingPathExtension;
。在所有情况下,要添加扩展名,请使用以下示例组成新字符串:
+(NSString *)stringWithFormat:
。所以 :
This can be achieved using
NSString
's methods. Note that for string comparison, you have to useisEqualToString:
, not==
, which tests for pointers equality.About the extension use :
-(NSString *)pathExtension;
. To remove the extension use-(NSString *)stringByDeletingPathExtension;
.In all cases to add an extension, compose a new string using for example :
+(NSString *)stringWithFormat:
.So :
@user756245 在同一页面上给出的可行解决方案的替代方法,但使用不同的
NSString
方法:An alternate approach to the workable solution given on this same page by @user756245 but using different
NSString
methods:这是使用
URL
的 Swift 4.1 更新Here is an update for Swift 4.1 using
URL