删除附加字符串

时间:2013-02-28 09:28:51

标签: ios

我有一个像这样的字符串的nsarray,

albumname/song42.mp3
albumname/song43.mp3 etc .

我想从上面的数组中删除字符串“album name”和“.mp3”,并将其显示在tableview中,如下所示:

song42
song43

然后在DidSelectRow中,我想添加字符串 “http://www.domain.com/albumname/”和“.mp3”到indepath.row元素。 例如: 如果用户在tableview中选择了song42,那么它必须创建一个类似于“http://www.domain.com/albumname/song42.mp3”的字符串 怎么做?

5 个答案:

答案 0 :(得分:7)

- [NSString stringByDeletingPathExtension]< ---此删除

+ [NSString stringWithFormat:]< ---这就是重新创建

编辑我的错误,您首先需要在调用第一种方法之前执行此操作:

NSString *lastPath = [string lastPathComponent]; //song43.mp3
NSString *tableString = [lastPath stringByDeletingPathExtension]; //song43

答案 1 :(得分:2)

使用String方法componentsSeparatedByString首先使用/然后.分隔字符串并丢弃您不需要的内容。

NSString *str="albumname/song42.mp3";
NSArray *mainStrArray = [str componentsSeparatedByString:@"/"]; 


NSArray remainingStrArray=[[mainStrArray objectAtIndex:1]componentsSeparatedByString:@"."];

NSString *result=[remainingStrArray objectAtIndex:0]; //here you have song42

答案 2 :(得分:2)

您可以使用lastPathComponentstringByDeletingPathExtension方法:

NSMutableArray *songs = [NSArray arrayWithCapacity:[sourceArray count]];
for (NSString *filename in sourceArray) {
    [songs addObject:[[filename lastPathComponent] stringByDeletingPathExtension]];
}

答案 3 :(得分:0)

您可以使用,如:

NSString *str = @"album name/song43.mp3";

str=[[str componentsSeparatedByString:@"/"][1]componentsSeparatedByString:@".mp3"][0];

NSLog(@"->%@",str); //song43

答案 4 :(得分:0)

NSString *file = @"albumname/song42.mp3";
NSString *name = [[[[file componentsSeparatedByString:@"/"] objectAtIndex:1] componentsSeparatedByString:@"."] objectAtIndex:0];