iOS-解析文件名

iOS-解析文件名,ios,cocoa-touch,Ios,Cocoa Touch,需要解析文件名。假设我有一张名为pic_1_3_5_4.png的图片。我需要像这样的东西: 类别1-1 类别2-3 类别3-5 类别4-4 我需要将这些值分开。因此,我可以检索或仅检索类别(1,2,3,4)或仅检索项目编号(1,3,5,4) 此外,我需要一些代码来解析不仅仅是四个类别。也许我想要像pic_2_4.png这样的图片。我需要将其解析为: 类别1-2 Category2-4尝试下面的代码,其结果将是一个包含所有您需要的组件的数组。此外,您将在第0个索引处获得pic,您可以相应地跳过或管

需要解析文件名。假设我有一张名为pic_1_3_5_4.png的图片。我需要像这样的东西:

类别1-1

类别2-3

类别3-5

类别4-4

我需要将这些值分开。因此,我可以检索或仅检索类别(1,2,3,4)或仅检索项目编号(1,3,5,4)

此外,我需要一些代码来解析不仅仅是四个类别。也许我想要像pic_2_4.png这样的图片。我需要将其解析为:

类别1-2


Category2-4

尝试下面的代码,其结果将是一个包含所有您需要的组件的数组。此外,您将在第0个索引处获得pic,您可以相应地跳过或管理该索引:

        NSArray *resultArray = [yourString componentsSeparatedByString:@"_"];

对于此特定请求,您可以检索名为CategoryX-Y的字符串列表,如下所示:

- (NSArray *) listNamesFromFileName:(NSString *) fileName
{

 NSArray *split = [[fileName stringByDeletingPathExtension] componentsSeparatedByString:@"_"];
//which will result in the following list : "pic","1","2",...
//then build the resulting array

   if(split.count > 1)
   {
     NSMutableArray *result = [NSMutableArray array];
     //starting from 1 to skip "pic"
     for(int i = 1;i < split.count ;i++)
     {
       NSString *value       = [split objectAtIndex:i];
       //Category1 - 3
        NSString *valueString = [NSString stringWithFormat:@"Category%d - %@",i,value];
       [result addObject:valueString];
      }

     return result;
    }

   return nil;
  }
-(NSArray*)列表名称fromFileName:(NSString*)文件名
{
NSArray*split=[[fileName stringByDeletingPathExtension]组件由字符串分隔:@“”];
//这将导致以下列表:“pic”、“1”、“2”,。。。
//然后构建结果数组
如果(split.count>1)
{
NSMutableArray*结果=[NSMutableArray];
//从1开始跳过“pic”
对于(int i=1;i

我想这就回答了你关于文件名每一个长度的问题:你应该从
NSString
componentsSeparatedByString
方法开始。你尝试了什么?你想让我们为你写代码吗?