我的代码
NSMutableString *s= (NSMutableString *)[@"http://www.yahoo.com/index.html" stringByDeletingLastPathComponent];
我期望 s 的结果是
http://www.yahoo.com
但是上面显示的代码是:
http:/www.yahoo.com
欢迎您发表评论
最佳答案
您应该使用NSURL
,而不是NSString
:
NSURL *url = [[NSURL URLWithString:@"http://www.yahoo.com/index.html"] URLByDeletingLastPathComponent];
产量:
如果您绝对需要其中的字符串,则可以执行以下操作:
NSString *urlString = url.absoluteString;
或者,如果您确实需要一个可变字符串,请不要将其转换为 NSMutableString
,而是创建一个可变副本:
NSMutableString *urlString = [url.absoluteString mutableCopy];
但是,一般来说,在可能的情况下,在处理 URL 时应该继续使用 NSURL
。当想要使用文件路径时,请改用文件 URL。
关于objective-c - 被 stringByDeletingLastPathComponent 的子字符串结果混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54789939/