Как заменить все символы на * с помощью регулярного выражения - PullRequest
0 голосов
/ 29 сентября 2010

У меня есть текст, подобный

s = bluesky

Я хочу получить его как s = ******* (равно не равно *, как нет символов)

Iищу регулярное выражение для python.Пожалуйста, помогите.Будем благодарны за любую помощь

Редактировать 1:

b = '*'*len(s)

Как мы можем это сделать в шаблоне Django

Ответы [ 4 ]

6 голосов
/ 29 сентября 2010

Для этого вам не нужно регулярное выражение:

s = 'bluesky'
b = '*'*len(s)
print b

вывод:

>>> s = 'bluesky'
>>> b = '*'*len(s)
>>> print b
*******
2 голосов
/ 29 сентября 2010

Как мы можем это сделать в шаблоне Django

В шаблоне Django? Смертельно легко.

{% for char in s %}*{% endfor %}

Где s - переменная шаблона, значение которой bluesky.

2 голосов
/ 29 сентября 2010

Нет необходимости в регулярном выражении, просто text.replace('bluesky','*'*len('bluesky'))

например:

>>> text = "s = bluesky"
>>> text.replace('bluesky','*'*len('bluesky'))
's = *******'
0 голосов
/ 29 сентября 2010
>>> import re
>>> re.sub("(\w+)\s*=\s*(\w+)", lambda m: "%s = %s" % (m.group(1), '*'*len(m.group(2))), "s = bluesky")
's = *******'
>>> re.sub("(\w+)\s*=\s*(\w+)", lambda m: "%s = %s" % (m.group(1), '*'*len(m.group(2))), "cat=dog")
'cat = ***'

Предполагая, что ваша строка буквально s = bluesky

...