Regex pour obtenir tous les mots après le nième mot dans une phrase dans Google Sheets

Nous pouvons utiliser Regex pour obtenir tous les mots après le nième mot dans une phrase dans Google Sheets. Pour cela, il existe une fonction intégrée appelée REGEXREPLACE. Une autre option est la combinaison QUERY, SPLIT et SUBSTITUTE. Nous allons également essayer cela.

En fait, j’étais sur le point d’écrire un autre tutoriel pour expliquer une formule que j’avais proposée à l’un de mes lecteurs via un commentaire. Il s’agissait de valeurs séparées par des virgules.

Dans le cadre de cette formule, je voulais extraire tous les mots après le premier mot.

Comme il s’agit d’une formule complexe, j’ai pensé écrire ce tutoriel pour expliquer cette partie spécifique.

Comme mentionné ci-dessus, pour obtenir tous les mots après le nième mot dans une phrase, nous utiliserons REGEXREPLACE au lieu d’une autre fonction connexe appelée REGEXEXTRACT.

La raison en est la suivante.

Nous remplacerons les premiers n mots et les caractères non alphabétiques, tels qu’un espace, par des espaces vides.

Le reste de la phrase sera le résultat que nous souhaitons obtenir en tant que sortie de la formule.

Essayons rapidement notre formule non regex pour obtenir tous les mots après le nième mot dans une phrase. La formule regex suit.

Sans utiliser l’expression régulière RE2

Pour tester, nous pouvons utiliser le texte d’essai suivant dans la cellule A1.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus posuere efficitur sapien, eu euismod lacus vulputate vitae.

Non-Regex Formula that Substitutes a Delimiter

=Query(split(SUBSTITUTE(A1," ","🐠",1),"🐠"),"Select Col2")

La formule ci-dessus extrait tous les mots après le premier mot du texte d’essai dans la cellule A1.

Remplacez le nombre 1 dans la formule par le nombre 5 pour obtenir tous les mots après le cinquième mot dans la phrase.

Explication de la formule:

Nous avons utilisé la formule SUBSTITUTE pour remplacer la première occurrence du caractère espace par le caractère poisson.

Nous divisons ensuite la phrase en deux en fonction du délimiteur indiqué.

Cela créera une donnée à deux colonnes. La requête est utilisée pour renvoyer les données de la deuxième colonne, et c’est ce que nous voulons.

Est-ce que la formule non regex ci-dessus qui renvoie tous les mots après le nième mot dans une phrase fonctionnera dans un tableau?

Oui, elle fonctionnera! Voici un exemple.

=ArrayFormula(Query(split(SUBSTITUTE(A1:A100," ","🐠",1),"🐠"),"Select Col2"))

Dans l’exemple ci-dessus, vous pouvez voir une plage de cellules utilisée (A1:A100) au lieu de la référence de cellule (A1).

En plus de cela, comme vous le savez peut-être déjà, j’ai inclus la fonction ARRAYFORMULA pour étendre le résultat.

Remarques: Utilisez TRIM(A1:A1000) ou TRIM(A1) si vous doutez que les mots de votre phrase soient séparés par plusieurs espaces intentionnellement ou par erreur de frappe. Ce n’est pas nécessaire dans la REGEX suivante.

Cela étant dit, passons à la formule basée sur les expressions régulières.

Regex pour obtenir tous les mots après le nième mot dans une phrase

Nous pouvons utiliser l’expression régulière suivante dans la fonction REGEXREPLACE.

Expression régulière et options de formule

Expression:

^(w*W*){2}

Éléments:

  • ^ – Positionne le curseur au début du texte ou de la ligne.
  • w – Correspond à des caractères alphanumériques (caractères de soulignement et alphanumériques [0-9A-Za-z_]).
      • Capture le jeton précédent entre 0 et un nombre illimité de fois.
  • W – Correspond à des caractères qui ne sont pas des caractères de mots (pas de caractères de soulignement et alphanumériques [^0-9A-Za-z_]).
  • {n} – Correspond exactement n fois au jeton précédent.

Note: Veuillez consulter cette page GitHub pour référence de syntaxe RE2.

La expression régulière ci-dessus est celle que nous pouvons utiliser pour obtenir tous les mots après le nième mot dans une phrase dans Google Sheets.

Comment utiliser cette expression régulière dans une formule Google Sheets?

Voici!

=REGEXREPLACE(A1,"^(w*W*){3}","")

Formule de tableau pour obtenir tous les mots après le nième mot dans une phrase dans Google Sheets

La formule ci-dessus prendra en charge une plage de cellules, ce qui signifie qu’elle est capable de renvoyer un tableau.

Voici un exemple pour comprendre l’utilisation du tableau de l’expression régulière ci-dessus dans Google Sheets.

=ArrayFormula(REGEXREPLACE(A1:A,"^(w*W*){2}",""))
Regex Array Formula to Get All Words After the Nth Word

Dans la liste des noms de la colonne A, la formule REGEXREPLACE array renvoie le dernier nom.

Elle remplace les deux premiers mots, c’est-à-dire le numéro de série et le prénom, par une valeur vide.

C’est tout. Merci de votre attention. Profitez-en!

Ressources connexes:

  • Comment diviser un nombre d’un texte lorsqu’il n’y a pas de délimiteur présent dans Google Sheets.
  • Insérer un délimiteur dans un texte après le n-ième caractère ou tous les n caractères dans Google Sheets.
  • Substituer la nième occurrence d’un délimiteur depuis la fin d’une chaîne.
  • Extraire les dernières valeurs n d’une chaîne séparée par des délimiteurs dans Google Sheets.
  • Comment faire correspondre | Extraire le nième mot dans une phrase dans Google Sheets.
  • Diviser un texte après chaque nième mot dans Google Sheets.

Articles en lien