Comment faire fonctionner le regex dans un Json ?

Résolu
Bonsoir,

voici ma 2 eme questions de la soirée :

en NodeJs , j'utilise tranquillement mon filtre avec regex
  const str = req.body

const result = str.match(/.{1,80}(?!\S)/g);

const newStr = result.join('\n');

res.json({

authData,
text: newStr

})


et au moment de res.json le resultat de newStr ça ne fait plus le saut à la ligne mais on vois le\n exemple : a lampe étrangère qui\n le suivent alors que ça dois être :

a lampe étrangère qui
le suivent

merci d'avance

Configuration: Windows / Chrome 87.0.4280.88

1 réponse

  1. Modérateur
    Bonjour,

    Aucun rapport entre regex et json ....

    Par contre, le fait qu'une fois transformé en JSON tu vois apparaitre les caractères comme les \n .. ben.. c'est normal.

    Par contre, pour éviter des soucis, il faudra certainement échapper les\n en \\n
    Tu peux, par exemple, utiliser
    var str = req.body;
    var result = str.match(/.{1,80}(?!\S)/g);
    var newStr = result.join('\n');
     
    // permet d'échapper les caractères comme les \n et \t et les \r            
    newStr.replace(/\n/g, "\\\\n").replace(/\r/g, "\\\\r").replace(/\t/g, "\\\\t");
    
    res.json({
          authData,
           text: newStr
     });
    


    1
    1. D'accord, en faite au final je cherche des problème là où il y en pas ????
      du coup dans un json impossible d'avoir le même resultat de newStr , automatiquement un json rajoute le \n c'est bien ça ?
      0
    2. Modérateur
      @sakuraOui
      0
    3. @jordane45D'accord , merci beaucoup d'avoir prie le temps de m'aider aujourd'hui :)
      0