Удалить экземпляры всех символов кроме одного из NSString - PullRequest
0 голосов
/ 08 декабря 2011

У меня есть строка NSString, которая динамична и постоянно меняется.Мне нужно взять эту NSString и заменить вхождения каждого символа в ней на @ "", кроме строки @ "\ n"

Так что, если у меня есть NSString *string = @"This is my string at 10:00PM\n I hate this string\n";, так что если я удаляю все, кроме \ n, заменяя всес @ "" и замените вхождения \ n на 1, моя новая строка в конце будет 11, так как есть два вхождения.Строка также может содержать любой существующий символ, поэтому необходимо удалить все, кроме \ n.

Как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 08 декабря 2011

Если вы хотите более удобное, хотя и немного более интенсивное использование памяти:

NSUInteger numNewlines = [[string componentsSeparatedByString:@"\n"] count] - 1;
NSMutableString *ones = [[NSMutableString alloc] initWithCapacity:numNewlines];
for (int i = 0; i < numNewLines; i++) {
    [ones appendString:@"1"];
}
0 голосов
/ 08 декабря 2011

Я думаю, что проще сделать что-то вроде

NSString *newString = @"";
for(int i=0;i<[string length]; i++) 
    if([string characterAtIndex:i]=='\n')
        newString = [newString stringByAppendingString:@"1"];

string = newString;
...