Hi @nicklim
I believe this is what you are looking for


The flow remains same, but StringToReplace variable you need to write an expression it will split and get the Dynamic value Orange or Apple etc which is in between Product: and x1, Below is the expression
first(split(last(split(variables('OrignalString'), 'Product: ')), ' x1'))
and follows by the end expression of the compose to see the replaced value
replace(variables('OrignalString'), variables('StringToReplace'), variables('ReplacementString'))


Above is the end flow
If you find this reply helpful, please consider giving it a LIKE AND
If this reply answers your question or solves your issue, please ACCEPT AS SOLUTION
Thanks,
Srini