比较 NSArray 中的项目

Compare Items in NSArray

我的 NSArray 包含星期几,后跟 space 和一个数字。该数组如下所示:

(
    "Monday 1 - Rapids",
    "Monday 2 - Durango Shopping",
    "Monday - Train"
)

我需要做的是在数组中扫描数字最大的那个,然后删除其他所有的。有什么想法吗?

有多种方法可以做到这一点。

您可以使用 componentsSeparatedByString: @" " 将每个项目分解为单词,然后在每个结果数组中获取第二个项目的 intValue。那会很容易,但是会使用相当多的临时内存并且可能有点慢。

您可以使用 NSScanner 编写代码来提取第一个和第二个空格之间的项目。

您可以编写一个匹配第二个单词的正则表达式,如果它不是数字,return 一个空房间字符串。 (您可以将数字设置为 "capture group"。)

第 1 步。使用 componentsSeparatedByString: @" - " 第 2 步。如果第一项存在,则使用 componentsSeparatedByString: @" " 而不是将第一项用作键 步骤 3. 创建一个 mutabDictionary step 4. 比较数字并记录最高索引