Ios 操作字符串数组以获取+;最后一个

Ios 操作字符串数组以获取+;最后一个,ios,cocoa,nsstring,nsarray,Ios,Cocoa,Nsstring,Nsarray,我有一个包含以下文件名的数组: NSArray *filename = @[@"anoop", @"anoop100", @"anoop5"]; 现在,如果用户创建了一个新文件,新名称应该是anoop101 我试过什么: 我对数组进行了排序,在这种情况下,anoop5goes终于出现了,增加提取的数字就会得到anoop6,这不是我的用例 我需要对整数部分的字符串进行排序,以便anoop100进入列表的末尾 有什么帮助吗 编辑: 有人将其标记为数字搜索的副本。事实上,它不仅有数字搜索,还有字符串

我有一个包含以下文件名的数组:

NSArray *filename = @[@"anoop", @"anoop100", @"anoop5"];
现在,如果用户创建了一个新文件,新名称应该是
anoop101

我试过什么:

我对数组进行了排序,在这种情况下,
anoop5
goes终于出现了,增加提取的数字就会得到
anoop6
,这不是我的用例

我需要对整数部分的字符串进行排序,以便
anoop100
进入列表的末尾

有什么帮助吗

编辑:


有人将其标记为数字搜索的副本。事实上,它不仅有数字搜索,还有字符串搜索。因此,独自一人会做出错误的回答,并同情更接近的人。

你不需要排序

假设数组中没有任何文件,则看起来

NSArray*文件名=@[]

现在您必须添加新文件,它应该是anoop

检查数组计数,它为0,因此文件名应为anoop0或**anoop*

并添加到数组中

NSArray*文件名=@[@“anoop”]


现在您可以检查count它是1,这样下一个文件将是anoop1,依此类推

1-所有没有数值的字符串都应该添加到start中。2-从数字部分断开字符串。3-对数值数组进行排序。4-开始匹配原始数组中的值并将其添加到结果数组中。使用
sortedarrayingcomparator:
compare:options:
NSNumericSearch
进行正确排序。然后获取最后一个对象,如果您知道“base”(在您的示例中为“anoop”)文件名=[filename sortedArrayUsingSelector:@selector(localizedStandardCompare:)],则可以使用或子字符串;将根据您的requirement@Droppy当前位置数字搜索将完成这项工作,您是如何得出这一事实的?如果是这样的话,我就不会问这个问题了!还有一点。即使字符串包含非数字字符,它也会正确排序数组。现在可以获取最后一个对象。将anoop字符串替换为空字符串,然后从字符串中获取整数值。将新文件名添加为stringformat anoop[integervalue+1]。您需要在NSMutablearay中添加新对象,然后将该可变数组作为[NSArray arrayWitharray:newmutablearray]重新分配给origionalarray@AnoopVaidya你试过了吗?瞧。@Droppy:我的坏。。。。我怎么会错过这个,我自己就把这个问题解决了。我不能删除它,因为它包含答案。非常感谢你们和阿德南博士。
filename =[filename sortedArrayUsingSelector:@selector(localizedStandardCompare:)];