从NSString中删除“\ n”

时间:2012-06-11 10:57:48

标签: objective-c nsstring

我的json正在回复此事:

  

address =“129 City Road

     

\ nShoreditch

     

\ n伦敦EC1V 1JB“;

我想删除“\ n”。因为我想在一行中显示它。

我试过以下:

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

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

两者结果相同:

结果

  

900 N Michigan Avenue

     

芝加哥

     

Illinois 60611

如果我试过这个

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

结果

  

900 N Michigan Avenue

     

\ n芝加哥

     

\ nIllinois 60611

请建议。

11 个答案:

答案 0 :(得分:21)

试一试:

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

答案 1 :(得分:16)

看起来\n字面意思是字符串而不是换行符,那么你需要转义\,例如\\n

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

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

答案 2 :(得分:10)

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

对于那些可能正在寻找答案的人。尝试以上一次。它对我有用。

答案 3 :(得分:3)

普里 使用以下代码删除新行。

-(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];

}

答案 4 :(得分:2)

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

答案 5 :(得分:1)

要删除“\ n”,请执行以下操作

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

答案 6 :(得分:1)

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

Duplicate。请在此处查看答案。

答案 7 :(得分:0)

这对我有用:

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

答案 8 :(得分:0)

它的工作

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

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

答案 9 :(得分:0)

您提到[string stringByReplacingOccurrencesOfString:@"\n" withString:@""]无效..

你试过“\ r”

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

答案 10 :(得分:0)

在Swift 2.2中:让newWord = address.stringByReplacingOccurrencesOfString(" \ n",withString:"")

相关问题