检查文本是否以空格开头

时间:2015-11-17 14:25:00

标签: python django django-views django-validation

这个问题不是专门针对django而是针对整个python。我想要做的是,当用户提交时,我将如何检查标题不应该以" " (空间)。它可以从任何其他角色开始,但不能从空间开始。

的观点:

def admin_page_create(request):
    if request.is_ajax() and request.POST:
        title = request.POST.get("title", "")
        if title != '' or title != <<<regex or function() to check title does not start with a blank space>>>:
            Page.objects.create(title=title, user=request.user)
            data = "Created a new page: '" + title + "'."
            return HttpResponse(json.dumps(data), content_type='application/json')
        else:
            data = 'You gave us a blank title. Please try again.'
            return HttpResponse(json.dumps(data), content_type='application/json')
    else:
        raise Http404

3 个答案:

答案 0 :(得分:6)

您可以使用索引0获取字符串的第一个字符。然后,只需将其与" "进行比较或使用.isspace()

if title[0] != " ":
if not title[0].isspace():

如@Andy和@Daniel所述,另一种可能更优雅的解决方案是使用.startswith()

if not title.startswith(" "):

您可能会对.strip()感兴趣,它会从字符串的开头和结尾删除空格字符,甚至更具体地删除.lstrip()

答案 1 :(得分:2)

您可以使用startswith方法:

title.startswith(' ')

答案 2 :(得分:1)

如果要检查第一个字符是否为空格:

if title.startswith(" "):

如果要检查第一个字符是否为空格,可以执行以下操作:

import re # regular expression module
if re.match(r"\s", title): # match() matches only at beginning of subject text.
                           # \s is any whitespace

或者这个:

if title != title.lstrip(): # lstrip removes whitespaces at the left (hence the "l")