J'ai des titres longs que je reçois du backend. Comment puis-je le rendre multiligne en cassant la chaîne tous les 50 caractères et en étant sûr que le dernier mot ne sera pas cassé sur chaque ligne ?

J'ai vérifié cette question et les réponses ici. Mais aucun d'eux n'a de sens. caractère de nouvelle ligne de chaîne JavaScript ?

Supposons qu'il y ait une très longue chaîne :

const str = 'How to use Redis with Mongo DB and Node.js and .....'

Comment puis-je créer un échantillon de ce titre sur plusieurs lignes en cassant chaque 50 caractères à l'aide des méthodes regex ou string? Je ne veux pas utiliser de boucles.

-2
Dave 3 nov. 2020 à 19:18

1 réponse

Meilleure réponse

Quelque chose comme ça pourrait fonctionner:

var str = 'How to use Redis with Mongo DB and Node.js and use Redis with Mongo DB and Node.js and use Redis with Mongo DB and Node.js and use Redis with Mongo DB and Node.js and use Redis with Mongo DB and Node.js Node.js and use Redis with Mongo DB and Node.js and use Redis with Mongo DB and Node.js and use Redis with Mongo DB and Node.js and use Redis with Mongo DB and Node.js Node.js and use Redis with Mongo DB and Node.js and use Redis with Mongo DB and Node.js and use Redis with Mongo DB and Node.js and use Redis with Mongo DB and Node.js Node.js and use Redis with Mongo DB and Node.js and use Redis with Mongo DB and Node.js and use Redis with Mongo DB and Node.js and use Redis with Mongo DB and Node.js Node.js and use Redis with Mongo DB and Node.js and use Redis with Mongo DB and Node.js and use Redis with Mongo DB and Node.js and use Redis with Mongo DB and Node.js Node.js and use Redis with Mongo DB and Node.js and use Redis with Mongo DB and Node.js and use Redis with Mongo DB and Node.js and use Redis with Mongo DB and Node.js and'

var multiline_str = [...str.matchAll(/.{1,50}[^ ]+(?: +|$)/g)].join('<br/>');

console.log(multiline_str);

Il compte jusqu'à 50 caractères et s'il atterrit au milieu du mot, il continuera à chercher jusqu'au mot suivant et joindra chaque morceau avec un <br />.

0
MonkeyZeus 3 nov. 2020 à 17:09