我有一个像这样的字符串的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”的字符串 怎么做?
答案 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)
您可以使用lastPathComponent
和stringByDeletingPathExtension
方法:
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];