【问题标题】:Replace some special chracters from email in django在 django 中替换电子邮件中的一些特殊字符
【发布时间】:2013-02-08 09:40:06
【问题描述】:

我想在 django 中替换电子邮件中的特殊字符。我有谷歌这个问题,发现堆栈问题非常有用question

但是这有一些问题。如果我尝试过这个

a='testemail@email.com'
    replace=['@','.']
    for i in replace:
        a=a.replace(i,'_')

或者这个

u_name=re.sub(r'[^a-zA-Z0-9]', '_', str(email))

在模板中

{% for i in u_name%}
{{i}}<br>
{% endfor %}

它会返回

t
e
s
t
e
m
a
i
l
_
e
m
a
i
l
_
c
o
m

但我想要这样的testemail_email_com,这样我就可以在循环的帮助下将它存储在数据库中,但它只存储第一个字符。

所以请告诉我如何做到这一点。

谢谢

我正在从其他数据库迁移一些数据,并希望将其存储到 django 数据库中。假设我有 1o 个用户的数据,这些用户的电子邮件存储到以下数组中。现在我想替换这些电子邮件中的特殊字符,以便我可以将它们用作用户名。

已编辑:

email.append(row[i][1]) 

【问题讨论】:

    标签: python django special-characters


    【解决方案1】:

    如果u_name 是一个字符串,你可以使用这个:

    {{u_name}}&lt;br&gt;

    您正在遍历字符串的每个字符 - 即

    >>> for i in "mystring":
        print i
    
    
    m
    y
    s
    t
    r
    i
    n
    g
    

    根据您的编辑:

    如果emails是你的数组名,你需要替换每个元素,然后打印出来:

    >>> emails = ["me@apple.com", "you@test.com"]
    >>> emails = [re.sub(r'[^a-zA-Z0-9]', '_', x) for x in emails]
    >>> print emails
    ['me_apple_com', 'you_test_com']
    

    然后使用模板:

    {% for email in emails%}
    {{email}}<br>
    {% endfor %}
    

    【讨论】:

    • 没有 u_name 是一个数组,我必须替换电子邮件数组下的所有电子邮件
    • @user1746291 不过,这不在您的示例中-您显然是在遍历每个字母。你能显示更多的代码吗?数组从何而来?
    猜你喜欢
    • 2017-06-15
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-11
    • 2020-12-11
    • 1970-01-01
    相关资源
    最近更新 更多