<p>我想把一句话里所有的脏话都换成随机字符。我要用它来邮寄我的项目。这就是我目前所做的。你知道吗</p>
<pre><code>curse=["apple","ball","car"]
fil = ["!","@","#","$","%","^","&","*","(",")"]
filword = ""
flag=0
word = raw_input(">>")
for each in curse:
if each == word:
worlen = len(word)
flag=1
if flag==1:
for c in fil:
if len(filword) != worlen:
filword+= c
word= word.replace(word, filword)
print word
</code></pre>
<p>假设诅咒列表中的那些词是脏话。
我已经可以把它翻译成随机字符了。
我的问题是怎样才能从句子中替换脏话。
示例:</p>
<pre><code>>> Apple you, Ball that car
</code></pre>
<p>我希望我的输出是这样的:</p>
<pre><code>!@#$% you, !@#$ that !@#
</code></pre>
<p>我该怎么做?谢谢!:)</p>
<pre><code> import re
word2 = re.sub(r'\w+', lambda x: x.group(0).lower() in curse and ''.join(fil[:len(c)]) or x.group(0), word)
print (word2)
>>> '!@#$ you, !@#$ that !@#$'
</code></pre>