Как вставить NSString * между двумя NSString *

Я хочу задать вопрос NSString *. У меня есть объект NSString *. Содержание похоже на следующий пример. (как файл CSV)

Пример: (мой файл намного длиннее этого)

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

(если он пуст, без пробелов между ',')

Как я могу вставить объект NSString * / или NSString * "(null)" между двумя ',' с помощью цели C?

// After convent

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

Большое Вам спасибо.


person Questions    schedule 14.07.2010    source источник


Ответы (2)


Взгляните на метод stringByReplacingOccurrencesOfString:withString: (непроверено):

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

Этого может быть достаточно для ваших нужд.

person Felix Kling    schedule 14.07.2010

Я новичок в 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]]];
    }
}

Надеюсь, я не сильно облажался :)

person Bogdan Constantinescu    schedule 14.07.2010