python - 删除特殊字符并用“-”替换空格
问题描述
我正在尝试创建一个可以出现在 URL 中的目录。我想确保它不包含任何特殊字符并用连字符替换任何空格。
from os.path import join as osjoin
def image_dir(self, filename):
categorydir = ''.join(e for e in str(self.title.lower()) if e.isalnum())
return "category/" + osjoin(categorydir, filename)
它正在删除特殊字符,但是我想.replace(" ", "-")
用连字符替换空格
解决方案
最好的方法可能是使用slugify
将任何字符串作为输入并返回与 URL 兼容的函数的函数,您的不是 URL,但它可以解决问题,例如:
>>> from django.utils.text import slugify
>>> slugify(' Joel is a slug ')
'joel-is-a-slug'
推荐阅读
- c# - 将几何转换为地理的实体框架
- api - www.crypto.com 身份验证,python HMAC-SHA256
- excel - 根据 B 列中的字符串条件对 A 列的值求和
- java - 无法获取上传图像到 Firebase android 的下载 URL
- sql - 如何在 SQL 中遍历表的子集
- python - 如何在 DAG (pandas\networkx) 上获取所有连接边的链
- eclipse - Windows 上的 OMNeT++ 5.5.1 和 SimuLTE - 调试错误
- java - 如何为 Android Studio 中的 imageView 分配整数值?
- ios - iOS NSURLErrorDomain Code=-1200 “发生 SSL 错误,无法与服务器建立安全连接。”
- android - Emulate NDEF Tag in ReactNative for Android