replacer le la chaine \n par le caractère \n

yodarkyodark Membre
09:04 modifié dans API AppKit #1
bonjour,

Petite question comment faire pour pour remplacer dans un texte qui contient des \n pour les remplacer par un saut de ligne ? par exemple

Hello\nWorld devient

Hello
World

J'ai essayé
NSString * parsedMessage =  [[message objectAtIndex:y] stringByReplacingOccurrencesOfString:@\n withString:@ \n ]  ;


Merci d'avance

Réponses

  • Philippe49Philippe49 Membre
    09:04 modifié #2
    Ben '\n' est un retour à  la ligne ?
    Précises ta question
  • yodarkyodark Membre
    09:04 modifié #3
    alors voila j'ai un texte en entrée qui contient un \n collé aux autres caractères : " hello\nworld " du coup ca n'est pas considéré comme un saut de ligne. Ce que je voudrais faire c'est convertir cela en vrai saut de ligne !
  • Philippe49Philippe49 Membre
    09:04 modifié #4
    Cela ne vient pas de la NSString mais sans doute de l'utilisation que tu en fais

    #import <Cocoa/Cocoa.h>

    int main(int argc, char *argv[]) {

    NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];
    NSString * string=@\nHello\nWorld;
    NSLog(string);
    NSLog(@%@",string);
    [pool drain];
    return 0;
    }

    % gcc pgm.m -o pgm -framework Cocoa
    % pgm
    2008-10-29 09:53:58.979 pgm[642:10b]
    Hello
    World
    2008-10-29 09:53:58.981 pgm[642:10b]
    Hello
    World
    %

  • NoNo Membre
    09:04 modifié #5
    dans 1225269089:

    bonjour,

    Petite question comment faire pour pour remplacer dans un texte qui contient des \n pour les remplacer par un saut de ligne ? par exemple

    Hello\nWorld devient

    Hello
    World

    J'ai essayé
    NSString * parsedMessage =  [[message objectAtIndex:y] stringByReplacingOccurrencesOfString:@\n withString:@ \n ]  ;


    Merci d'avance


    Dans ta chaà®ne (ce que n'a pas compris Philippe), tu as les 2 caractères \ et n qu'il faut remplacer en un seul, soit le caractère LF (hex 0x10 je crois) qui est symbolisé par \n au niveau du compilateur.

    Or dans ton code, si tu remplaces "\n" (qui vaut 0x10) par lui même, donc ça ne marche pas. Tu dois donc "échapper" le caractère \ afin d'éviter la transformation en LF par le compilo.

    Essaie :
    NSString * parsedMessage =  [[message objectAtIndex:y] stringByReplacingOccurrencesOfString:@&quot;&#092;&#092;n&quot; withString:@&quot; &#092;n &quot;]  ;
    
  • yodarkyodark Membre
    09:04 modifié #6
    c'était ça ! merci beaucoup ça marche maintenant !
Connectez-vous ou Inscrivez-vous pour répondre.