Building on what @Jay-Encodian has provided I thought I could make this really simple and create a compose action with a simple replace function:
replace(body('Get_file_properties')?['{Path}'],'Source','Target')
That worked, well it successfully replaced the word "Source" in the folder path to "Target", but for some very odd reason when I use the compose output in the "Copy File" action "Destination Folder" it adds a / to the path

This leading / causes the flow to fail with the following error:
Failed to verify the existence of destination location at 'https://xxxxx.sharepoint.com/sites/test/Target Library/Reports/' due to error 'The system cannot find the file specified. (Exception from HRESULT: 0x80070002)'.
clientRequestId: 54032ecf-1c6e-4195-a1f7-f9b3e21019e1
serviceRequestId: 54032ecf-1c6e-4195-a1f7-f9b3e21019e1
That URL is valid in that I can copy it to a browser and it opens the document library. If I run the flow and select the folder by browsing to it the output doesn't have the / on the folder path and the flow completes.
Thanks in advance for any help.
Rob