我有一个像 @"Root/dbo-NewsLocation/Item 1/dbo-Relator-test/Item 1/Item 1"
当用户点击后退按钮时,我需要删除上面字符串末尾的@“/ Item1”。
我无法删除@“Item1”如果我使用以下代码执行stringByReplacingOccuranceOfString
,则使用以下代码删除所有@“Item1”。
NSString *str1=self.lblCIPath.text;
NSRange range = [str1 rangeOfString:@"/" options: NSBackwardsSearch];
NSString *newString = [str1 substringFromIndex:(range.location)];
self.lblCIPath.text=[self.lblCIPath.text stringByReplacingOccurrencesOfString:newString withString:@""];
如果有人可以建议我从componentPath
删除最后NSString
的方式,我将感激不尽。
答案 0 :(得分:7)
您是否尝试过stringByDeletingLastPathComponent
方法?
NSString *updatedPath = [myFullPath stringByDeletingLastPathComponent];
答案 1 :(得分:2)
正如Mathieu Meylan建议您可以使用stringByDeletingLastPathComponent
,或者您只需调整代码即可使用substringToIndex
代替substrinFromIndex
,如下所示:
NSString *str1=self.lblCIPath.text;
NSRange range = [str1 rangeOfString:@"/" options: NSBackwardsSearch];
NSString *newString = [str1 substringToIndex:(range.location)];
最终结果将是相同的:
Root/dbo-NewsLocation/Item 1/dbo-Relator-test/Item 1