我有这段代码
query = request.GET.get("q")
if query:
if query == "song" or query == "songs":
return render(request, 'music/cloud.html', {
'songs': song_results,
'generic_songs': song_results_generic,
})
问题是,我想要"如果"声明忽略大写。 例如,当用户通过" SoNg"或" SonG"或..它将转换为" song"在测试之前
答案 0 :(得分:3)
使用.lower()
window.location = "http://www.stackoverflow.com";
答案 1 :(得分:1)
在Python3.3 +中,您应该更喜欢str.casefold
。
if query.casefold() in ['song'.casefold(), 'songs'.casefold()]:
来自文档:
返回字符串的已装入案例的副本。表壳折叠字符串可用于无壳匹配。
Casefolding类似于lowercasing但更具攻击性,因为它旨在删除字符串中的所有大小写区别。例如,德语小写字母'ß'相当于“ss”。因为它已经是小写的,所以lower()对'ß'没有任何作用; casefold()将其转换为“ss”。
案例折叠算法在Unicode标准的第3.13节中描述。