如何切出部分NSString?

时间:2010-10-01 11:30:09

标签: iphone objective-c cocoa nsstring

@"/News/some news text/" 
@"/News/some other news text/" 
@"/About/Some about text/" 
@"/Abcdefg/Some abcdefg text/some more abcdefg text"

如何删除字符串的第一部分,以便最终得到以下字符串?

@"/News/"
@"/News/"
@"/About/"
@"/Abcdefg/"

2 个答案:

答案 0 :(得分:8)

使用componentsSeparatedByString:打破字符串:

NSArray *components=[string componentsSeparatedByString:@"/"];
if ([components count]>=2) {
     // Text after the first slash is second item in the array
    return [NSString stringWithFormat:@"/%@/",[components objectAtIndex:1]];
} else {
    return nil; // Up to you what happens in this situation
}

答案 1 :(得分:2)

如果这些是路径名,您可能需要查看NSString的路径相关方法,例如pathComponentspathByDeletingLastPathComponent

虽然路径分隔符不太可能会发生变化,但不要依赖这些东西并使用专用路径操作方法,而不是假设路径分隔符是某个特定字符,这是一个好习惯。 / p>

2013年的编辑:或者使用URL(更具体地说,NS / CFURL对象),Apple已经非常清楚这是从现在开始引用文件的正确方法,并且是沙箱中某些任务所必需的。