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
I am using this to Find/Replace a table
let
Repl = Table.Buffer(ReplacementsTable),
Text = Text,
Result = Table.AddColumn(Text, "Changed Text Expected",
each Text.Combine(
List.Transform(
Text.Split([Text], "|"),
each
try Repl[Replace With]{List.PositionOf(Repl[Word To Replace], _)}
otherwise _
),
"|" )
)
[[Changed Text Expected]]
in
Result
I am splitting a column on a pipe delimiter
Is it possible to add trim at this point?
Text.Split([Text], “|”),
I have strings that look like
the|cat sat |on the mat
find replace
cat sat >> bear
does not get replaced because of the space after the "sat" in “the|cat sat |on the mat”
Thanks
Solved! Go to Solution.
Use below in place of Text.Split([Text], "|")
Text.Split(Text.Replace(Text.Replace([Text]," |","|"),"| ","|") "|")
You can replace
Text.Split([Text], "|")
with
List.Transform(Text.Split([Text], "|"), Text.Trim)
to trim each string after separating by "|".
Here's another implementation that uses List.ReplaceMatchingItems:
let
Repl = Table.Buffer(ReplacementsTable),
Text = Text,
Result = Table.AddColumn(
Text,
"Changed Text Expected",
each Text.Combine(
List.ReplaceMatchingItems(
List.Transform(Text.Split([Text], "|"), Text.Trim),
List.Zip({Repl[Word To Replace], Repl[Replace With]})
),
"|"
)
)
in
Result
Use below in place of Text.Split([Text], "|")
Text.Split(Text.Replace(Text.Replace([Text]," |","|"),"| ","|") "|")
Thank you. This worked great!
@Anonymous
Do you have limited scenarios then maybe try replacing value, else could you please share some sample data (5-10) rows and the expected output.
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 19 | |
| 10 | |
| 9 | |
| 7 | |
| 7 |