Using an Automator Service and AppleScript code, here are two examples of how you can change backslashes to slashes in a string.
The first one takes the selected text passed to the Automator Service, makes the replacements and sets the output to the Clipboard. Which from there you can manually paste wherever you desire that can accept pasted text.
The second one takes the selected text passed to the Automator Service, makes the replacements and then replaces the selected text passed with the modified text in place, that is providing the source selected text is editable.
There is a slight code difference between the two, in the on run
subroutine and a single setting difference between the services. Both require first selecting a text string and then either a right-click to select the service from the Context menu or accessing the service from the Application_Name > Services > menu. The on replaceText(find, replace, textString)
subroutine is the same in both examples.
AppleScript code for the Clipboard method service:
on run {input}
set the clipboard to replaceText("\\", "/", input as string)
end run
on replaceText(find, replace, textString)
set prevTIDs to AppleScript's text item delimiters
set AppleScript's text item delimiters to find
set textString to text items of textString
set AppleScript's text item delimiters to replace
set textString to "" & textString
set AppleScript's text item delimiters to prevTIDs
return textString
end replaceText
AppleScript code for the replace selected text method service:
on run {input}
set input to replaceText("\\", "/", input as string)
return input
end run
on replaceText(find, replace, textString)
set prevTIDs to AppleScript's text item delimiters
set AppleScript's text item delimiters to find
set textString to text items of textString
set AppleScript's text item delimiters to replace
set textString to "" & textString
set AppleScript's text item delimiters to prevTIDs
return textString
end replaceText
To use the AppleScript code in an Automator Service:
In Automator, create a new Service with Service receives selected text in any application and Input is entire selection, then either leaving unchecked the [] Output replaces selected text check box for the clipboard service (AppleScript code for the Clipboard method service:) or checking the [√] Output replaces selected text check box for the for the replace selected text service (AppleScript code for the replace selected text method service:)
Add a Run AppleScript action to it and delete the default code.
Copy and paste whichever code for the method you choose to use.
Save the Service with an appropriate name, e.g., Replace backslashes with slashes on Clipboard for the first one and or Replace backslashes with slashes in selected text for the second one. Or of course whatever you prefer.
Now select some text that has backslashes in it and then select the service's name from the Services Context menu (right-click) or the Application_Name > Services > menu.
If using the Clipboard method, then paste the now modified selected text wherever you want or if using the replace selected text method, it's already replaced having selected that Service.