使用django中的模板过滤器替换特定字符后的内容

时间:2016-03-29 19:50:08

标签: python django

我已经尝试了一段时间了,我想让django替换任何" @变量"它在一个包含其他内容的字符串中找到。

例如,如果我们想要@来返回字符数:

  

'您好,这是我的字符串。 @barbaz知道这件事,@ foo也知道   关于它。'

会变成

  

'您好,这是我的字符串。 6知道它,3也知道它。'

这是我迄今为止所尝试过的:

NullPointerException

但这只是打印一个空字符串。

2 个答案:

答案 0 :(得分:1)

无论value.find(' ')中是否存在'@'

value都会返回相同的内容。您可以将其更改为以下内容:

for count in user_count:
    from_at = value[value.find('@')+1:]
    result = from_at[:from_at.find(' ')]
    print(result)

答案 1 :(得分:1)

我建议在这里使用正则表达式。

import re

def parse_users(value):
    usernames = re.findall(r"@\w+", value)
    for username in usernames:
        value = value.replace(username, str(len(username[1:])))

值结果:'你好,这是我的字符串。 6知道它,3也知道它。'