Exécuter une commande JavaScript avec sublime text

Signaler
Messages postés
1
Date d'inscription
mardi 26 mai 2020
Statut
Membre
Dernière intervention
26 mai 2020
-
 Tchoupi -
Bonjour, je suis un super débutant en programmation , j ai besoin pour un projet de récupérer une ligne de texte de x caractère( environ 10000) et d exécuter un programme me permettant de faire un retour chariot tous les y caractère( environ 300), puis de récupérer ce bloc text pour l insérer dans un projet.
J ai essayé avec sublime text en y installant mode.js avec le langage javascript( je ne sais pas si c le langage le plus adapté):

var str="mon texte de 10000 caractère"
var newStr=str.replace(/(.{300})/g, "$1\n")

Je ne sais pas si mon code est propre, si il manque des Lignes pour lancer l exécution et si ce langage compte tenu de mon projet est le plus adapté.

Je vous remercie d'avance si vous avez des remarques ou suggestions.
cdlt

1 réponse

Salut,
c'est quoi la question au juste?
JavaScript ne s'exécute pas mais est interprété.
Quel rapport avec node.js qui est une utilisation de JavaScript côté serveur?
Tout dépends de votre finalité et du contexte de l'affichage sinon n'importe quel langage peut manipuler des chaînes de caractères pour faire ce que vous voulez.
JavaScript est la plupart du temps utilisé dans le contexte du web car l'interpréteur est compris avec les navigateurs.
Sinon il y a Rhino qui est un interpréteur JavaScript écrit en Java.
Je vois pas ce que viens faire node.js à moins que vous ayez besoin de possibilité serveur.
Dans une page web l'affichage d'un retour à la ligne peut prendre bien des formes, de l'inclusion d'une balise HTML à la limite de l'affichage d'un élément qui ne nécessitent aucune programmation mais d'indiquer le nombre de caractère pour chaque ligne.

Les fonctions et méthodes pour une chaîne de caractères sont nombreuses.
Le script que vous utilisez ne rajoute rien, il remplace une partie de la chaîne identifiée par autre chose.
Voici un exemple concret qui détermine un mot remplacé par un autre dans toute la chaîne:
https://www.w3schools.com/jsref/jsref_replace.asp

Hors si vous avez déjà le caractère qui indique le saut à la ligne il faut appliquer ce retour à la ligne plutôt que le remplacer.

Plusiseurs solutions aussi pour faire ce que vous décrivez.La plus simple et évidente me paraît de découper la chaîne en plusieurs avant de les afficher ligne par lignes.
ça consiste à faire plusieurs variables d'une seule.

exemple d'un script JS qui permet de faire ça tous les 300 caractères:

let chaine="azertyuiopqsdfghjklmwxcvbn";/* par soucis de simplicité j'ai pas 100000 caractères*/

let ligne1=chaine.substring(0,299);/* substring renvoit une partie d'une chaîne en indiquant son début et sa fin, ici du caractère 0 au caractère 299 soit le 300ème vu que le premier caractère d'une chaîne à l'indice de position 0 */
let ligne2=chaine.substring(300,599);

console.log('première ligne: '+ligne1);
console.log('seconde ligne: '+ligne2);


Bien sûr comme ce script peut couper un mot en 2 il faut repérer l'espace qui sépare chaque mot qui se situe après le 300ème caractère si l'on veut éviter cela.
Pour ça vous avez la méthode indexOf ou lastIndexOf en JavaScript qu'il suffit d'appliquer à partir du 300ème caractère , du 600ème du 900ème etc...

Voilà une méthode simple mais il existe une quasi infinité de façon de faire (et de langages) qui permettent ce que vous voulez.
Donc pourquoi l'un plus que l'autre? Pourquoi JavaScript et pas un autre langage? C'est à vous de voir ou plutôt dépendant du contexte et de l'utilisation/visualisation que vous devez faire.
Et ça vous n'en parlez pas alors que c'est ce qui détermine tout le reste.