将描述性字符串转换为可移植目录名称的最惯用、最简洁的方法是什么?
类似
description.replace(" ", "_")
的东西,但这也删除/替换了标点符号和其他空格,也许还有我没有考虑过的其他边缘情况。
映射可能是有损的(您不需要能够重现原始字符串),它只需要是给定描述的合理近似,当然 - 如果某个地方有标准实现,那就是一个很大的好处
谢谢!
示例:
"I'm thinking Avocado toast" -> "im_thinking_avocado_toast"
这个答案解释了如何用字符替换所有非字母数字字符,我想这已经足够好了:
re.sub('[^0-9a-zA-Z]+', '_', description)