Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.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
Objective c 如何删除阵列中所有文件的文件扩展名?_Objective C_Cocoa - Fatal编程技术网

Objective c 如何删除阵列中所有文件的文件扩展名?

Objective c 如何删除阵列中所有文件的文件扩展名?,objective-c,cocoa,Objective C,Cocoa,当mac osx应用程序运行时,它将创建一个数组,其中包含目录中所有文件的NSString名称和扩展名。但是,我想先删除数组中每个文件的扩展名,然后再将它们显示给用户,并将这些名称放入数组中。我怎样才能做到这一点 例如picture.jpeg、image.jpeg和picture2.png到picture、image和picture2NSString的–stringByDeletingPathExtension应该可以为您提供帮助。就是您要寻找的。您可以使用stringByDeletingPat

当mac osx应用程序运行时,它将创建一个数组,其中包含目录中所有文件的NSString名称和扩展名。但是,我想先删除数组中每个文件的扩展名,然后再将它们显示给用户,并将这些名称放入数组中。我怎样才能做到这一点


例如picture.jpeg、image.jpeg和picture2.png到picture、image和picture2

NSString的–stringByDeletingPathExtension应该可以为您提供帮助。

就是您要寻找的。

您可以使用
stringByDeletingPathExtension
和KVC收集操作符:

NSArray *original = @[@"picture.jpeg", @"image.jpeg", @"picture2.png"];
NSArray *modified = [original valueForKeyPath:@"stringByDeletingPathExtension"];

这里
valueForKeyPath
返回一个数组,其中包含对数组中的所有对象调用
stringByDeletingPathExtension
的结果。

正则表达式是一种方法。我想如果你做一些研究,你可以自己做,如果你很难用代码返回。你可能想看看[NSFileManager displayNameAtPath:()您编辑的in语句毫无意义。在“程序开始执行之前”您根本无法执行任何操作。如何使其工作?在数组中的字符串上调用它。