Как вставить NSString * между двумя NSString * - PullRequest
2 голосов
/ 14 июля 2010

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

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

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

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

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

// After convent

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

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

Ответы [ 2 ]

4 голосов
/ 14 июля 2010

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

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

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

0 голосов
/ 14 июля 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]]];
    }
}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...