Forum Discussion

raymondpocher's avatar
raymondpocher
Advocate III
4 years ago
Solved

PowerQuery: remove text string between custom delimiters

Hi community,

 

I want to achieve something simple but in power query I feel as if I am making way too compley. So after not finding anything on google I turn to you 🙂

 

Suppose I have loaded URLs into PowerQuery. Here a sample input:

.com/watch?t=606&v=rpcd-MEmzAc&ebc=ANyPxKo6RT9WxuEfw

 

I am now looking for a method to remove certain texts (above in bold):

.com/watch?v=rpcd-MEmzAc   

t=606& (string starting with a t= and ending with an or nothing)

&ebc=ANyPxKo6RT9WxuEfw (string starting with &ebc= and ending with an or nothing)

 

I tried:

 #"REMOVE" = Table.TransformColumns(#"PREVIOUS_STEP", {{"COLUMN_TO_REPLACE", each Text.Remove(_, Text.BetweenDelimiters(_, "t=", "&") ), type text}})

 

But in case the Parameter doesn't occur at all I will receive an error. It should only then replace the value if it is possible. 

 

 

  • #"REMOVE" = Table.TransformColumns(#"PREVIOUS_STEP", {{"COLUMN_TO_REPLACE", each Text.Replace(_, Text.BetweenDelimiters(_, "t=", "&"), ""), type text}})

2 Replies

  • CNENFRNL's avatar
    CNENFRNL
    Community Champion
    #"REMOVE" = Table.TransformColumns(#"PREVIOUS_STEP", {{"COLUMN_TO_REPLACE", each Text.Replace(_, Text.BetweenDelimiters(_, "t=", "&"), ""), type text}})
    • GiuseppeSan's avatar
      GiuseppeSan
      New Member

      Hi, I am using this function to replace elements within html tags in a text.

      It seems that the function does not replace the text for all occurrences, but only for the first one it finds.

      Is it my mistake on how I am applying it or should some modification be applied?

          #"Rimosso contenuto span" = Table.TransformColumns(#"Rinominate colonne4", {{"Descrizione", each Text.Replace(_, Text.BetweenDelimiters(_, "<span", ">"), ""), type text}}),