Как заменить пробел на UnderScore (_) в массиве в задаче C - PullRequest
2 голосов
/ 13 октября 2011

Как заменить Space с UnderScore (_) в массиве в цели C. Ниже приведен код, который я использую для чтения данных массива из файла,

NSString *g = [[NSString alloc]initWithCString:data];
    NSMutableString *tempGetAll = [[NSMutableString alloc]init];
    if(k>0){
        NSArray *lines = [g componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@""]];
        for (NSString* line in lines)
        {
          //[arrGetAll addObject: line];
          NSLog(@"%@",line) ;
          //NSLog(@"---------");

        }

    }
    k++;

Вот вывод, который я получаю,

Привет, как ты? 20.000

Но мне нужен вывод следующим образом,

hi_how_r_u: 20,000

как заменить пробел на знак подчеркивания.

Ответы [ 2 ]

13 голосов
/ 13 октября 2011

Есть метод stringByReplacingOccurrencesOfString:withString:

NSString* string1 = @"123 123 123";
NSString* string2 = [string1 stringByReplacingOccurrencesOfString:@" " withString:@"_"];
NSLog(@"%@", string2);

Результат

123_123_123

0 голосов
/ 13 октября 2011

Чтобы создать строку из массива путем объединения его элементов, вы должны использовать NSArray:


- (NSString *)componentsJoinedByString:(NSString *)separator

В вашем случае это:

NSString *getAll = [lines componentsJoinedByString:@"_"];

По существу, "componentSeparatedByCharactersInSet" разбивает строку на массив, "componentsJoinedByString" объединяет компоненты массива в одну строку.

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