如何从NSString的末尾删除字符直到“/”

时间:2014-05-19 07:40:40

标签: ios objective-c nsstring

我有一个像 @"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的方式,我将感激不尽。

2 个答案:

答案 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