obj-c反向循环遍历字符串/字符串数组

时间:2016-03-12 12:28:25

标签: objective-c arrays string

我有一个大字符串,其中包含整个换行符。

NSString *exampleString = @"Many Lines \
                            Continue down \ 
                            Every line correctly has a character return at the end";

它基本上是一个日志文件,我只对最近几个不断更新的条目感兴趣。

我想知道是否有字符串功能来执行此操作并包含一个正则表达式或一个精确的短语来反向逐行通过字符串,或者我最好将字符串转换为数组,然后循环遍历数组逐行反向搜索和处理匹配?

1 个答案:

答案 0 :(得分:0)

以下是骨架结构:

NSArray* substringsArray = [exampleString componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];

[substringsArray enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

    if (idx < 5) {

        // first 5 objects

        NSString* substring = (NSString*)obj;

        // Do whatever
    }
}];

NSArray* substringsArray = [exampleString componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]会根据换行符将您的单个字符串分解为一个子字符串数组。 enumerateObjectsUsingBlock:将枚举数组中的子字符串,这样obj就是子字符串。 idx将告诉您该字符串在数组中的索引。