python 在字符串替换的问题

    new_file = old_file.replace(' ', '-').replace('“', '').replace('”', '').replace('(', '').replace(')','').replace(':', '-')

在处理文件夹的时候 有很多特殊字符,除了这种方式以外,还有没有一种优雅的方式我觉得这种太难看了

阅读 1.4k
1 个回答

可以这样:

new_file = old_file.translate(str.maketrans(' :', '--', '“”()'))

# >>> '“文件 A”: (测试用)'.translate(str.maketrans(' :', '--', '“”()'))
# '文件-A--测试用'

str.maketrans 的文档中提到的:

  • 前两个参数建立一对一的映射
  • 第三个参数的字符会映射到 ''
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题