Удалить "\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: "")