12

私のjsonはこれを返しています:

address = "市道129号線

\nショアディッチ

\nロンドン EC1V 1JB";

「\n」を削除したい。1行で表示したいからです。

私は次のことを試しました:

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

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

両方の結果は同じです:

結果

900 N ミシガン アベニュー

シカゴ

イリノイ 60611

これを試したら

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

結果

900 N ミシガン アベニュー

\nシカゴ

\nイリノイ 60611

提案してください。

4

11 に答える 11

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
于 2012-06-11T11:06:09.680 に答える
16

は改行文字ではなく文字列内の文字通りのように見えます。次のようにを\nエスケープする必要があります。\\\n

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

NSString * newReplacedString = [string stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]];
于 2012-06-11T11:11:24.273 に答える
3

Priyanka次のコードを使用して、新しい行を削除します。

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

}

于 2012-06-11T11:17:59.433 に答える
2
NSString *data= [str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
于 2013-09-24T07:35:12.210 に答える
1
NSString *newString = [[myString componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]] componentsJoinedByString:@" "];

複製します。ここで答えを確認してください。

于 2012-06-11T11:11:47.747 に答える
1

「\n」を削除するには、次のようにします

//Str contains your json value
NSString *str;
NSString *newString = [str stringByReplacingOccurrencesOfString:@"\n" withString:@""];
于 2012-06-11T11:02:10.050 に答える
0

その働き

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

    address = [address stringByReplacingOccurrencesOfString:@"\n" withString:@""];
    NSLog(@"address--%@",address);
于 2012-06-11T11:04:49.957 に答える
0

これは私のために働く:

NSString *s = [@"900 N Michigan \nAvenue \nChicago \nIllinois 60611" stringByReplacingOccurrencesOfString:@"\n" withString:@""];
NSLog(@"%@", s); //900 N Michigan Avenue Chicago Illinois 60611
于 2012-06-11T11:01:44.280 に答える
0

あなた は動作しません[string stringByReplacingOccurrencesOfString:@"\n" withString:@""]..

「\r」を試しましたか

 [string stringByReplacingOccurrencesOfString:@"\r" withString:@""]
于 2012-06-11T11:10:43.670 に答える
0

Swift 2.2 の場合: let newWord = address.stringByReplaceingOccurrencesOfString("\n", withString: "")

于 2016-07-08T00:24:29.863 に答える