Python reemplaza varios caracteres con un carácter (código conciso)

Al nombrar archivos en el sistema Windows, algunos caracteres especiales no pueden existir, echemos un vistazo a qué caracteres no pueden existir.

No se pueden incluir \ / : * ? " < > |un total de 9 caracteres especiales en el nombre del archivo.


Al principio quería usar reemplazar() para reemplazar, pero tuve que lidiar con varios caracteres y el código no era fácil de escribir.

¡Solo se puede reemplazar un carácter o cadena a la vez! ! !

msg = "Hello/world\Hello|Python|?*"
msg = msg.replace('\\', ' ').replace('/',' ').replace('|',' ').replace(':',' ').replace('*',' ').replace('?',' ').replace('"',' ').replace('>',' ').replace('<',' ')
print(msg)

Contenido de salida

Solución

re.compile(r"[abc]"), que es lo que abcdesea eliminar y reemplazar con-

import re
str2 = "/\|mrflysand *?,/ <>mrflysand 456!"
pat2 = re.compile(r"[*?:\"<>/|\\]")
result2 = pat2.sub("-",str2)
print(result2)

Contenido de salida:

---mrflysand --,- --mrflysand 456!

Supongo que te gusta

Origin blog.csdn.net/MrFlySand/article/details/132289162
Recomendado
Clasificación