Py学习  »  Python

python:如何将字符串转换为url安全字符串?

Doc Oliver • 5 年前 • 1512 次点击  

例如,我如何才能将其转换为:

This is a string!

进入这个:

this-is-a-string

我希望转换不包含所有特殊字符,只接受字母和数字,并将空格替换为 -

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/39612
 
1512 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Anon Coward
Reply   •   1 楼
Anon Coward    5 年前

从技术上讲,要将字符串编码为url安全值,只需通过urllib的解析器运行它:

import urllib.parse
print(urllib.parse.quote(value))

但是,您要求自定义转换。您可以使用一些内置字符串和正则表达式库来执行此操作:

import re
print(re.sub("[^a-z0-9-]", "", value.lower().replace(" ", "-")))

如果你想允许超过 a-z , 0-9 - 作为“valid”,则需要扩展正则表达式。