Ios 删除附加字符串
我有一个像这样的字符串的nsarrayIos 删除附加字符串,ios,Ios,我有一个像这样的字符串的nsarray albumname/song42.mp3 albumname/song43.mp3 etc . 我想从上面的数组中删除字符串“album name”和“.mp3”,并将其显示在tableview中,如下所示: song42 song43 然后在DidSelectRow中,我想添加字符串 “”和“.mp3”到indepath.row元素。 例如: 如果用户在tableview中选择song42,则必须创建如下字符串“” 如何做到这一点?使用字符串方法通过
albumname/song42.mp3
albumname/song43.mp3 etc .
我想从上面的数组中删除字符串“album name”和“.mp3”,并将其显示在tableview中,如下所示:
song42
song43
然后在DidSelectRow中,我想添加字符串
“”和“.mp3”到indepath.row元素。
例如:
如果用户在tableview中选择song42,则必须创建如下字符串“”
如何做到这一点?使用字符串方法
通过字符串分离组件
首先使用/
分离字符串,然后使用
丢弃不需要的内容
NSString *str="albumname/song42.mp3";
NSArray *mainStrArray = [str componentsSeparatedByString:@"/"];
NSArray remainingStrArray=[[mainStrArray objectAtIndex:1]componentsSeparatedByString:@"."];
NSString *result=[remainingStrArray objectAtIndex:0]; //here you have song42
您可以使用,如:
NSString *str = @"album name/song43.mp3";
str=[[str componentsSeparatedByString:@"/"][1]componentsSeparatedByString:@".mp3"][0];
NSLog(@"->%@",str); //song43
您可以使用
lastPathComponent
和stringByDeletingPathExtension
方法:
NSMutableArray *songs = [NSArray arrayWithCapacity:[sourceArray count]];
for (NSString *filename in sourceArray) {
[songs addObject:[[filename lastPathComponent] stringByDeletingPathExtension]];
}
这将无法正常工作-您需要将其与
lastPathComponent
结合使用。例如,给定输入albumname/song42.mp3
如果调用stringByDeletingPathExtension
,您将得到albumname/song42
作为输出。请稍等。这会从数组中删除字符串、扩展名等吗?您上面的代码适用于单个字符串,不是吗?是的…所以在数组上循环它,显然>
NSString *file = @"albumname/song42.mp3";
NSString *name = [[[[file componentsSeparatedByString:@"/"] objectAtIndex:1] componentsSeparatedByString:@"."] objectAtIndex:0];
NSMutableArray *songs = [NSArray arrayWithCapacity:[sourceArray count]];
for (NSString *filename in sourceArray) {
[songs addObject:[[filename lastPathComponent] stringByDeletingPathExtension]];
}