oc中componentsSeparatedByString用法 分割 NSString 返回一个数组NSArray

#import <Foundation/Foundation.h>

int main(int argc, constchar * argv[])
{
    @autoreleasepool {
        //将字符串切割成数组
        NSString *pStr=@"ID:01213221312\n@TITLE:nba\n@DATE:2007-01-20\n@AUTHOR:laowang\n@";
        NSArray  *pArr=[pStr componentsSeparatedByString:@"\n@"];
        NSString *pStr1=[pArr objectAtIndex:2];
        NSLog(@"%@",pStr1);//DATE:2007-01-20
        NSArray *pArr1=[pStr1 componentsSeparatedByString:@":"];//再次使用componentsSeparatedByString
        NSLog(@"%@",[pArr1 objectAtIndex:1]);//输出第二个元素 2007-01-20  
    }
    return0;
}

可以使用 `componentsSeparatedByString:` 方法来获取 CSV 文件的某一行,然后再使用 `componentsSeparatedByString:` 方法来获取该行某个逗号之间的内容。 例如,下面的代码可以用来获取 CSV 文件第一行第二个逗号和第三个逗号之间的内容: ```objc NSString *csv = @"name,age,email\nJohn,25,john@example.com\nJane,30,jane@example.com"; NSArray *lines = [csv componentsSeparatedByString:@"\n"]; NSString *firstLine = [lines firstObject]; NSArray *fields = [firstLine componentsSeparatedByString:@","]; NSString *secondField = [fields objectAtIndex:1]; NSString *thirdField = [fields objectAtIndex:2]; NSRange range = [csv rangeOfString:[NSString stringWithFormat:@"%@,%@,", secondField, thirdField]]; if (range.location != NSNotFound) { NSString *result = [csv substringWithRange:NSMakeRange(range.location + range.length, [csv length] - range.location - range.length)]; NSRange endRange = [result rangeOfString:@","]; if (endRange.location != NSNotFound) { result = [result substringToIndex:endRange.location]; } NSLog(@"%@", result); // 输出:john@example.com } ``` 在上面的代码,首先使用 `componentsSeparatedByString:` 方法将 CSV 文件按行分割,然后获取第一行的内容。接着使用 `componentsSeparatedByString:` 方法将第一行按逗号分割,获取第二个和第三个字段的内容。然后使用 `rangeOfString:` 方法查找第二个逗号和第三个逗号之间的内容在 CSV 文件的位置,并使用 `substringWithRange:` 方法获取该位置之后的内容。最后使用 `rangeOfString:` 方法查找该内容一个逗号的位置,并使用 `substringToIndex:` 方法获取逗号之前的部分作为结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值