Удалить "\n" из NSString

Мой json возвращает это:

address = "129 City Road

\nShoreditch

\nLondon EC1V 1JB";

Я хочу удалить "\n". Потому что я хочу отобразить его в одной строке.

Я пробовал следующее:

NSString * newReplacedString = [string stringByReplacingOccurrencesOfString:@"\n" withString:@""];

NSString * newReplacedString = [string stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]];

Оба результата совпадают:

Результат

900 N Мичиган-авеню

Чикаго

Иллинойс 60611

Если я попробовал этот

NSString *s = [string stringByReplacingOccurrencesOfString:@"\n" withString:@"\\n"];

Результат

900 N Мичиган-авеню

\nChicago

\nIllinois 60611

Просьба предложить.

Ответ 1

Попробуйте:

NSString *address = @"129 City Road \nShoreditch \nLondon EC1V 1JB";    
address = [address stringByReplacingOccurrencesOfString:@"\n" withString:@""];
address = [address stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]];

Это сработало, и я получил вывод вроде:

129 City Road Shoreditch London EC1V 1JB

Ответ 2

Похоже, что \n буквально находится в вашей строке, а не как символ новой строки, тогда вам нужно избежать \, например \\n:

NSString * newReplacedString = [string stringByReplacingOccurrencesOfString:@"\\n" withString:@""];

NSString * newReplacedString = [string stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]];

Ответ 3

NSString *newString = [str stringByReplacingOccurrencesOfString:@"\r\n" withString:@""];

Для тех, кто может найти ответ. Попробуйте сделать это выше. Это сработало для меня.

Ответ 4

Приянка Используйте следующий код, чтобы удалить новые строки.

-(NSString *)stringByRemovingNewLinesAndWhitespace {

// Pool
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

// Strange New lines:
//  Next Line, U+0085
//  Form Feed, U+000C
//  Line Separator, U+2028
//  Paragraph Separator, U+2029

// Scanner
NSScanner *scanner = [[NSScanner alloc] initWithString:self];
[scanner setCharactersToBeSkipped:nil];
NSMutableString *result = [[NSMutableString alloc] init];
NSString *temp;
NSCharacterSet *newLineAndWhitespaceCharacters = [NSCharacterSet characterSetWithCharactersInString:
                                                  [NSString stringWithFormat:@" \t\n\r%C%C%C%C", 0x0085, 0x000C, 0x2028, 0x2029]];
// Scan
while (![scanner isAtEnd]) {

    // Get non new line or whitespace characters
    temp = nil;
    [scanner scanUpToCharactersFromSet:newLineAndWhitespaceCharacters intoString:&temp];
    if (temp) [result appendString:temp];

    // Replace with a space
    if ([scanner scanCharactersFromSet:newLineAndWhitespaceCharacters intoString:NULL]) {
        if (result.length > 0 && ![scanner isAtEnd]) // Dont append space to beginning or end of result
            [result appendString:@" "];
    }

}

// Cleanup
[scanner release];

// Return
NSString *retString = [[NSString stringWithString:result] retain];
[result release];

// Drain
[pool drain];

// Return
return [retString autorelease];

}

Ответ 5

NSString *data= [str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

Ответ 6

Чтобы удалить "\n", выполните следующие

//Str contains your json value
NSString *str;
NSString *newString = [str stringByReplacingOccurrencesOfString:@"\n" withString:@""];

Ответ 7

NSString *newString = [[myString componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]] componentsJoinedByString:@" "];

Дублировать.Проверьте ответ здесь.

Ответ 8

это работает для меня:

NSString *s = [@"900 N Michigan \nAvenue \nChicago \nIllinois 60611" stringByReplacingOccurrencesOfString:@"\n" withString:@""];
NSLog(@"%@", s); //900 N Michigan Avenue Chicago Illinois 60611

Ответ 9

Работает

NSString *address = @"129 City Road"
    "\nShoreditch"
    "\nLondon EC1V 1JB";

    address = [address stringByReplacingOccurrencesOfString:@"\n" withString:@""];
    NSLog(@"address--%@",address);

Ответ 10

Вы упомянули [string stringByReplacingOccurrencesOfString:@"\n" withString:@""] does not work..

Пробовали ли вы "\ r"

 [string stringByReplacingOccurrencesOfString:@"\r" withString:@""]

Ответ 11

В Swift 2.2: let newWord = address.stringByReplacingOccurrencesOfString( "\n", withString: "")