Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 删除附加字符串_Ios - Fatal编程技术网

Ios 删除附加字符串

Ios 删除附加字符串,ios,Ios,我有一个像这样的字符串的nsarray albumname/song42.mp3 albumname/song43.mp3 etc . 我想从上面的数组中删除字符串“album name”和“.mp3”,并将其显示在tableview中,如下所示: song42 song43 然后在DidSelectRow中,我想添加字符串 “”和“.mp3”到indepath.row元素。 例如: 如果用户在tableview中选择song42,则必须创建如下字符串“” 如何做到这一点?使用字符串方法通过

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

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]];
}