比较 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. 比较数字并记录最高索引
我的 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. 比较数字并记录最高索引