Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hello.
A field (emailBody) contains the body/text of certain emails we have received.
In Power Query, I need to remove/obscure email addresses for data protection reasons.
One entry can contain multiple email addresses.
I've found this solution here:
= Text.Combine(List.Select(Text.Split([Name], " "), each not(Text.Contains(_, "PL"))), " ")
...but I understand this would only work for one email address for each entry.
How can I remove any string that is like '*@*' ?
Solved! Go to Solution.
@cannellonigreyh You can use this:
AddedCustom =
Table.AddColumn (
PreviousStep,
"New Text",
each
Text.Combine (
List.Select (
Text.Split ( [Text], " " ),
each not Text.Contains ( _, "@" )
),
" "
),
type text
)Input:
Row 1: Hi my name is Tom and my email address is Tom@Tomtom.com I would like to discuss the price of brake fluid.
Row 2: My brother's email address is Steve@toast.com and mine is SueBlue@pretenddomain.com and I am very happy because biscuits exist.
Output:
Row 1: Hi my name is Tom and my email address is I would like to discuss the price of brake fluid.
Row 2: My brother's email address is and mine is and I am very happy because biscuits exist.
@cannellonigreyh You can use this:
AddedCustom =
Table.AddColumn (
PreviousStep,
"New Text",
each
Text.Combine (
List.Select (
Text.Split ( [Text], " " ),
each not Text.Contains ( _, "@" )
),
" "
),
type text
)The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
Check out the November 2025 Power BI update to learn about new features.