I needed a solution for this because I'm trying to send back a structured JSON reply, and wanted the citations gone.
After working on this for far too long, I found a formula that correctly filters out the citations and the trailing [1]'s. It doesn't require an adaptive card, it's just a single formula.
(Note, this only works for up to 3 citations, but it does work)
Here's the formula:
Trim(
Substitute(
Substitute(
Substitute(
Substitute(
Substitute(
Substitute(Topic.VARIABLE_HERE, ": cite:1 ""Citation-1""", ""),
": cite:2 ""Citation-2""", ""),
": cite:3 ""Citation-3""", ""),
"[1]", ""),
"[2]", ""),
"[3]", "")
)