[Help] Apps Script "spin content" dans Google Sheets (généré via ChatGPT)

Hello la commu’ :v:

Voici le script proposé par ChatGPT et qui fonctionne pour du spinning sur des « accolades de premier niveau » :

function spinText(text) {
  var regex = /\{(.+?)\}/g;
  var matches = text.match(regex);

  if (matches) {
    // Pour chaque variable de spinning dans le texte,
    // choisir une valeur au hasard parmi les valeurs possibles
    for (var i = 0; i < matches.length; i++) {
      var variable = matches[i];
      var values = variable.substring(1, variable.length - 1).split("|");
      var value = values[Math.floor(Math.random() * values.length)];
      text = text.replace(variable, value);
    }
  }

  return text;
}

J’appelle la fonction dans le Sheet avec
=spinText(A1)
A1 étant la cellule contenant le Master spin

Ce script fonctionne bien pour cet exemple :
La voiture est {jaune|verte|noir} donne bien en sorti « La voiture est jaune » « La voiture est verte », etc.

:arrow_down:
Là où ça se complique c’est quand je souhaite faire quelque chose avec plusieurs accolades imbriquées pour faire des variables plus complexe,

Exemple bidon :
{La relation humaine {prime{ bien sûr|} sur|est plus importante que} le digital

J’ai tenté de lui demander de corriger de différentes manières mais rien n’y fait, je ne dois pas savoir lui parler correctement

Si quelqu’un arrive à trouver la solution ça serait cool :v:
PS : Si vous y arrivez grâce à ChatGPT je suis extrêmement curieux du prompt utilisé pour résoudre ça

1 « J'aime »

c’est quoi ton usage? tu veux faire du liquid? c’est quoi la diff? je vois pas le use case possible^^

Faire un Master spin plus permissif, plus complexe.

C’est pour générer un ensemble de textes qui seront assez différents au sein du Google Sheets et que je pourrais exporter,

L’outil que je vais utiliser ne permet qu’un import au format « Excel »

J’ai jamais tenté le Liquid, plutôt curieux de voir comment ça fonctionne, mais là j’avais pas le time et je voulais une solution rapide avec ce que je connaissais