Power Query – M – Fonctions Texte


Power Query possède un ensemble de fonctions pour manipuler les chaines de caractères.

Ces fonctions sont hébergées au sein de la classe Text.

 

  • Text.Start("Hello",2) retourne He

 

  • Text.End("Hello",2) retourne lo

 

  • Text.Length("Hello") retourne 5

 

  • Text.PositionOf("Hello","o") retourne 4

 

  • Text.At("Hello",1) retourne e

 

  • Text.AfterDelimiter("Hello","l") retourne lo

 

  • Text.BeforeDelimiter("Hello","l") retourne He

 

  • Text.BetweenDelimiters("Hello","e","o") retourne ll

 

  • Text.PositionOf("Hello","y") retourne -1 (n'existe pas)

 

  • (Power Query compte à partir de zéro)

 

  • Text.Range("Hello",2,2) retourne ll

 

  • Text.Range("Hello",Text.Length("Hello")-2,2) retourne lo (les deux derniers caractères de n'importe quelle chaine.)

 

  • Text.Combine({"H","e","l","l","o"},"-") retourne H-e-l-l-o

 

  • Text.Contains("Hello","lo") retourne True

 

  • Text.Format("C'est l'heure de dire #[ZZZ]",[ZZZ="Hello"]) retourne C'est l'heure de dire Hello.
  • Text.StartsWith("Hello","He") retourne True

 

  • Text.EndsWith("Hello","lo") retourne True

 

  • Text.Insert("Hello",1,"XXX") retourne HXXXello

 

  • Text.Lower("Hello") retourne hello

 

  • Text.Upper("Hello") retourne HELLO

 

  • Text.PadEnd("Hello",10,".") retourne Hello.....

 

  • Text.PadStart("Hello",10,".") retourne .....Hello

 

  • Text.Proper("hello world I am jack") retourne Hello World I Am Jack

 

  • Text.Remove("He;l-l-o",{"-",";"}) retourne Hello

 

  • Text.RemoveRange("Hello",2,2) retourne Heo

 

  • Text.Repeat("Hello",2) retourne HelloHello

 

  • Text.Replace("Hello","Hello","Jack") retourne Jack

 

  • Text.ReplaceRange("Hello",2,2,"XX") retourne HeXXo

 

  • Text.Split("H-ello","-") retourne une liste {"H","ello"}

 

  • Text.Trim("Hello",{"H","e","o"}) retourne ll

 

  • Text.TrimStart("Hello He",{"H","e","o"}) retourne llo He

 

  • Text.TrimEnd("Hello He",{"H","e","o"}) retourne Hello

Toutes ces fonctions peuvent évidemment recevoir des entêtes de colonne en entrée :

Text.StartsWith([Champs1],"He"], ou être imbriquées les unes dans les autres ou dans d'autres fonctions, notamment conditionnelles.