Supprimer les caractères répétés à la fin des chaînes dans Google Sheets

Êtes-vous à la recherche d’une solution, probablement une expression régulière regex, pour supprimer les caractères répétés à la fin des chaînes dans Google Sheets ? Eh bien, j’ai la réponse dans cet article !

Laissez-moi d’abord vous expliquer mon point de vue. Lorsque nous combinons deux valeurs ou plus, pour spécifier la limite, nous utilisons normalement des caractères tels que ~ (tilde), | (barre verticale), / (barre oblique), ^ (accent circonflexe), etc. Ces caractères/signes sont appelés délimiteurs.

Lorsqu’il y a des cellules vides, il y a des délimiteurs supplémentaires dans la chaîne combinée. Regardez le motif ci-dessous dont je parle :

Combiner les colonnes B à E en F (B2:E6 en F2) :

Unwanted Characters at the End of a String in Google Sheets

Je veux supprimer ces caractères de tilde consécutifs indésirables (soulignés) de la fin de la chaîne, pas d’une autre partie.

Cette chaîne/délimiteur peut être entourée d’espaces vides ou non, cela dépend de la méthode que nous utilisons pour combiner les colonnes.

Dans l’exemple ci-dessus, les délimiteurs ont été entourés d’espaces vides (un seul espace blanc de chaque côté).

Même s’ils semblent consécutifs, je veux dire les délimiteurs tilde répétés, ils ne le sont pas à cause des espaces vides.

Pour rendre le processus plus compliqué, nous ne sommes pas sûrs du nombre de caractères répétés à la fin des chaînes, car cela dépend uniquement des cellules vides.

En tenant compte de tout ce qui précède, comment supprimer les caractères répétés à la fin des chaînes dans Google Sheets ? Je veux un résultat propre comme indiqué ci-dessous.

RegexReplace pour supprimer les caractères répétés à la fin des chaînes dans Google Sheets

Combiner les colonnes et placer les délimiteurs comme limites

Bien que ce tutoriel ne soit pas lié à la combinaison de colonnes, je vous donne quand même la formule.

Selon l’exemple ci-dessus, vous pouvez utiliser la formule 1 ci-dessous dans la cellule F2 et la copier-coller jusqu’à la cellule F6 ou la formule 2 dans la cellule F2 seule pour combiner la plage B2:E6.

Formule 1 :
=B2&" ~ "&C2&" ~ "&D2&" ~ "&E2

Formule 2 :
=ArrayFormula(B2:B6&" ~ "&C2:C6&" ~ "&D2:D6&" ~ "&E2:E6)

Il existe également une formule dynamique pour cela. Au lieu de combiner des colonnes individuelles, nous pouvons utiliser l’array/plage B2:E6 pour combiner les colonnes.

Voici cette formule d’array flexible pour joindre les colonnes ci-dessous, qui doit être simplement saisie dans la cellule F2.

Formule 3 :
=ArrayFormula(transpose(QUERY(transpose(B2:E6&" ~ "),,9^9)))

Il est temps de passer à la formule qui peut supprimer les caractères répétés à la fin des chaînes dans Google Sheets.

Formule pour supprimer les délimiteurs consécutifs de la fin des chaînes dans Google Sheets

D’après ce que je sais, il existe trois fonctions pour remplacer une partie d’une chaîne dans Google Sheets. Ce sont REPLACE, SUBSTITUTE et REGEXREPLACE. La fonction REGEXEXTRACT fonctionnera également dans une large mesure.

Mais la meilleure fonction à utiliser pour supprimer les caractères indésirables répétés de la fin d’une chaîne dans Google Sheets est la fonction REGEXREPLACE. Savez-vous pourquoi ?

Alors que la fonction REPLACE nécessite la position et la longueur des caractères à supprimer, dans la fonction SUBSTITUTE, il n’y a pas d’argument pour spécifier la fin de la chaîne.

Ainsi, une correspondance de motif regex est une solution idéale pour supprimer les caractères indésirables de la fin d’un texte dans Google Sheets.

Utilisez soit la formule 4 ci-dessous dans la cellule G2 et copiez-la jusqu’à la cellule G6, soit utilisez la formule 5 dans la cellule G2 seule.

Formule 4 :
=REGEXREPLACE(F2,"(s~s){1,}$","")

Formule 5 :
=ArrayFormula(REGEXREPLACE(F2:F6,"(s~s){1,}$",""))

Removing Consecutive Delimiters from the End of Texts in Google Sheets

Il va sans dire que nous pouvons remplacer la référence de cellule F2 dans la formule 4 par la formule 1, ainsi que la référence de plage F2:F6 dans la formule 5 par la formule 2. Ainsi, nous pouvons rendre la colonne F vierge.

Nous ne pouvons pas remplacer la plage F2:F6 par la formule 3. J’en parlerai plus tard à la conclusion. Ce n’est pas important à ce stade.

Formule, en particulier l’expression régulière, expliquée

Dans l’exemple ci-dessus, j’ai utilisé le signe ~ comme délimiteur (la limite de chaque colonne).

Lors de la combinaison des colonnes, j’ai placé un espace vide de chaque côté de ce délimiteur comme  » ~ « . Veuillez consulter la formule 1 ou 2.

Voici l’expression régulière que nous avons utilisée pour supprimer les caractères répétés (signes de tilde) de la fin des chaînes dans les formules 4 et 5 de Google Sheets.

(s~s){1,}$

Voyez l’explication ci-dessous.

  • s – correspond à 1 caractère d’espace vide.
  • ~ – correspond à 1 caractère de tilde.
  • {1,} – (quantificateur) correspond à 1 fois ou plus.
  • $ – position à la fin de la chaîne.

J’ai utilisé s de chaque côté du tilde pour correspondre aux caractères  » ~ « .

Si vous n’avez pas d’espaces vides, par exemple, voyez ce texte Country 1~Country 6~Country 11~Country 13~~, utilisez l’expression régulière (~){1,}$.

La formule REGEXREPLACE remplace les caractères correspondant au motif ci-dessus par le caractère «  ».

Selon l’exemple ci-dessus, voici les expressions régulières pour supprimer les caractères répétés « ^ », « / », et « |  » de la fin des chaînes dans Google Sheets.

(s^(s){1,}$
(s/(s){1,}$
(s|(s){1,}$

J’ai laissé de côté une formule, c’est-à-dire la formule 3, que j’ai utilisée pour combiner les colonnes. Voici la raison.

En utilisant REGEXREPLACE, il n’est pas facile de supprimer les délimiteurs indésirables à la fin de la sortie de cette formule. Car cette formule place un nombre irrégulier de caractères d’espace vide autour du délimiteur.

Comme solution, modifiez légèrement la formule 3 comme indiqué ci-dessous, puis utilisez l’expression régulière ~s){1,}$.

Formula Leaving Irregular Space with Delimiter

De plus, si vous utilisez la fonction TEXTJOIN pour combiner des valeurs à partir de plusieurs cellules ou plages, consultez le premier article sous les « Ressources » ci-dessous.

C’est tout. Amusez-vous bien !

Ressources :

Articles en lien