Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中的高级slug/url参数化(包括音译)库_Python_Url_Slug - Fatal编程技术网

Python中的高级slug/url参数化(包括音译)库

Python中的高级slug/url参数化(包括音译)库,python,url,slug,Python,Url,Slug,我是Python新手,正在寻找一个slug/url参数化库,它提供与Ruby中类似的功能。例如: # A simple prelude "simple English".to_url => "simple-english" "it's nothing at all".to_url => "its-nothing-at-all" "rock & roll".to_url => "rock-and-roll" # Let's show off "$12 worth of

我是Python新手,正在寻找一个slug/url参数化库,它提供与Ruby中类似的功能。例如:

# A simple prelude
"simple English".to_url => "simple-english"
"it's nothing at all".to_url => "its-nothing-at-all"
"rock & roll".to_url => "rock-and-roll"

# Let's show off
"$12 worth of Ruby power".to_url => "12-dollars-worth-of-ruby-power"
"10% off if you act now".to_url => "10-percent-off-if-you-act-now"

# You don't even wanna trust Iconv for this next part
"kick it en Français".to_url => "kick-it-en-francais"
"rock it Español style".to_url => "rock-it-espanol-style"
"tell your readers 你好".to_url => "tell-your-readers-ni-hao"
我遇到过webhelpers.text.urlify,它声称可以做到这一点,但结果并不接近。非常感谢您的任何帮助。

检查,它基于,但带有。以下是相关代码:

re.sub(r'[-\s]+', '-',
            unicode(
                re.sub(r'[^\w\s-]', '',
                    unicodedata.normalize('NFKD', string)
                    .encode('ascii', 'ignore'))
                .strip()
                .lower()))
它的功能远不如Ruby的Stringex强大,但您可以轻松地扩展它以扩展那些符号、美元符号等。看一看,
Text::Unidecode
Perl模块的Python端口,Stringex用于Unicode音译的功能与此相同。

我认为这段代码远不如Stringex。它甚至不做音译<例如,code>möp变成
mop
,而不是
moep