Curious what others do for their replace to make it Windows friendly. Below is what I am currently using that seems to be working pretty well with other applications (Lidarr, Airsonic, etc.)
replace:
# https://brokkr.net/2020/06/29/renaming-music-files-with-beets-and-avoiding-troublesome-characters/
# http://www.asciitable.com/
# https://r12a.github.io/app-conversion/
# https://www.liquid-technologies.com/Reference/XmlDataBinding/xdb-evaluation-UnicodeNotes.html
# Remove URI reserved characters
'[\x3a-\x40]': _
'[\x5b-\x5d]': _
'[/|]': _
# Turn everything but "Allowed" into underscores (A-Z, a-z, 0-1, ", ', _ , -, <space>, &, (, )
'[^A-Za-z0-9.\u0022\u0027_\-\u0020\u0026\u0028\u0029]' : _
# Remove NTFS Illegal Characters
'["*/:<>?\\|]': _
# Remove first 32 control characters
# '[\x00-\x1f]': _
# Remove back and forward slashes
'[\\/]': _
# Remove a single leading dot
'^\.': _
# Remove a single trailing dot
'\.$': _
# Remove a leading white-space
# '^\s+': ''
# Remove a trailing white-space
'\s+$': ''
# Use Normal quotes
'[\u275C\u02BC]': ''''
'[\u2018\u2019\u201a\u201b\u2039\u203a]': ''''
'[\u201c\u201d\u201e\u201f\u00ab\u00bb]': '"'
# Convert foreign characters to English
'[\u00e0\u00e1\u00e2\u00e3\u00e4\u00e5]': a
'[\u00e8\u00e9\u00ea\u00eb]': e
'[\u00ec\u00ed\u00ee\u00ef]': i
'[\u00f2\u00f3\u00f4\u00f5\u00f6]': o
'[\u00f9\u00fa\u00fb]': u
'[\u00c0\u00c1\u00c2\u00c3\u00c4\u00c5\u00c6]': A
'[\u00c8\u00c9\u00ca\u00cb]': E
'[\u00cc\u00cd\u00ce\u00cf]': I
'[\u00d2\u00d3\u00d4\u00d5\u00d6]': O
'[\u00d9\u00da\u00db\u00dc]': U
'[\u00f1]': n
'[\u00d1]': N
'[\u00e6]': ae
'[\u00c6]': AE
'[\u00ff]': y
'[\u00dd\u009f]': Y