我有个问题。我正在尝试创建一个自定义的slagify函数。我用django.autoslug。由于autoslug文档,我能够创建一个自定义的缓震器,但它需要改进,我不知道如何认识到这一点。在
所以我有一个字符串(书名),即.NET Framework 4.0 with C# & VB in VisualStudio 2010
。我想让它看起来像这样:dotnet-framework-4point0-with-cshapr-and-vb-in-visualstudio-2010
我当前的函数如下:
def custom_slug(value, *args, **kwargs):
associations_dict = {'#':'sharp', '.':'dot', '&':'and'}
for searcg_char in associations_dict.keys():
if search_char in value:
value = value.replace(search_char, associations_dict[search_char])
return def_slugify(value)
如您所见,我的函数将所有点.
替换为'dot'
。所以我的字符串将被改为dotnet-framework-4dot0-with-csharp-and-vb-in-visualstudio-2010
我建议,我应该使用RegEx,但我不知道如何做到这一点,以及如何用正确的“点/点替换”替换匹配的字符串
主意?!在
对不起,英语不好
更改
.
应该是"point"
,然后执行str.replace
来更改其他的。在说明
point
匹配夹在两个数字之间的.
。在(?<=spam)ham(?=eggs)
是一个(正的)lookaround。它的意思是“匹配ham
,只要它前面有spam
,后面跟着eggs
”。换句话说,它告诉regex引擎“环顾”它匹配的模式。在相关问题 更多 >
编程相关推荐