如何从PYTHON中的字符串创建一个SEO友好的划线分隔的URL?

zak*_*ces 2 python url

基本上,我的问题与相同,但在Python(和GAE)中,而不是C#.

要求:

  • 用短划线分隔每个单词并删除所有标点符号(考虑到并非所有单词都用空格分隔.)
  • 函数占用最大长度,并使所有令牌低于该最大长度.示例:ToSeoFriendly("hello world hello world",14)返回"hello-world"
  • 所有单词都转换为小写.

Ray*_*ger 5

def ToSeoFriendly(s, maxlen):
    '''Join with dashes, eliminate punction, clip to maxlen, lowercase.

        >>> ToSeoFriendly("The quick. brown4 fox jumped", 14)
        'the-quick-brow'

    '''
    t = '-'.join(s.split())                                # join words with dashes
    u = ''.join([c for c in t if c.isalnum() or c=='-'])   # remove punctation   
    return u[:maxlen].rstrip('-').lower()                  # clip to maxlen

if __name__ == '__main__':
    import doctest
    print doctest.testmod()
Run Code Online (Sandbox Code Playgroud)