如何在两个NSString *之间插入NSString *

时间:2010-07-14 07:58:35

标签: objective-c nsstring

我想问一个NSString *问题。我有一个NSString *对象。内容类似于以下示例。 (如CSV文件)

示例:(我的文件比这个文件长得多)

First Name,Last Name,Middle Name,Phone,Chan,Tim,Man,123-456-789,Tom,,,987-654-321

(如果它是空的,','之间没有空格)

如何使用目标C在两个','之间插入“(null)”NSString * /或NSString *对象?

// After convent

First Name,Last Name,Middle Name,Phone,Chan,Tim,Man,123-456-789,Tom,(null),(null),987-654-321

非常感谢。

2 个答案:

答案 0 :(得分:4)

查看方法stringByReplacingOccurrencesOfString:withString:未经测试):

NSString *newString = [oldString stringByReplacingOccurrencesOfString:@",," 
                                                           withString:@",(null),"];

这可能足以满足您的需求。

答案 1 :(得分:0)

我是Objective-C的初学者,我没有测试这个答案,但我认为它可以胜任。

//given your NSString called string
NSArray *pieces = [[NSArray alloc] initWithArray: [string componentsSeparatedByString:@","]];

NSMutableString *final = [[NSMutableString alloc] init];

for(int i; i < [pieces count]; i++)
{
    if(i > 0)
        [final appendString: [NSString stringWithFormat:@","]];

    if([pieces objectAtIndex: [NSNumber numberWithInt: i]] == nil)
    {
        [final appendString: [NSString stringWithFormat:@"(null)"]];
    }
    else
    {
        [final appendString: [pieces objectAtIndex: [NSNumber numberWithInt: i]]];
    }
}

我希望我没有把它弄得太糟糕了:))