@Frankee,
That’s a nice task and the first rows can be cleaned relatively safely if you assume as there is always a combination of numbers and a dash within parantheses. You can already see there that you have a problem with inconsistent writing, but because of the combination of conditions it can be done safely.
Last row is without parantheses, so I am not sure how you would deal with e.g. missing spaces like you see in the first row.
This transforms the given data in Before in two steps:
let
Source = Sheet1,
#"Cleaned (numbers & -)" = Table.TransformColumns(Source, {{"Before", each Text.Combine(List.Select(Splitter.SplitTextByAnyDelimiter({" (","(",") ",")"})(_), each Text.Remove(_, {"0".."9", "-"}) <> "")," "), type text}}),
#"Cleaned numbers & -" = Table.TransformColumns(#"Cleaned (numbers & -)",{{"Before",each Text.Combine(List.Select(Splitter.SplitTextByDelimiter(" ")(_), each Text.Remove(_, {"0".."9"}) <> "-")," "), type text}})
in
#"Cleaned numbers & -"
And this one does the same in a new column After:
let
Source = Sheet1,
#"Added After" = Table.AddColumn(Source, "After", each Text.Combine(List.Select(Splitter.SplitTextByAnyDelimiter({" (","(",") ",")"})([Before]), each Text.Remove(_, {"0".."9", "-"}) <> "")," ")),
#"Cleaned numbers & -" = Table.TransformColumns(#"Added After",{{"After",each Text.Combine(List.Select(Splitter.SplitTextByDelimiter(" ")(_), each Text.Remove(_, {"0".."9"}) <> "-")," "), type text}})
in
#"Cleaned numbers & -"
Regards,
Matthias