[英]How to censor multiple words in a sentence with hyphen
我有一个 function 用连字符替换句子中的单个单词,它工作正常我试图添加的是让用户输入由空格分隔的多个单词,并且 function 审查它们。 有没有办法做到这一点? 我当前的代码附在下面。 任何帮助表示赞赏。 提前致谢。
def replaceWords(text, word):
word_list = text.split()
result = ''
hyphen = '-' * len(word)
count = 0
index = 0;
for i in word_list:
if i == word:
word_list[index] = hyphen
index += 1
result =' '.join(word_list)
return result
def main():
sentence = input(str("enter a sentence: "))
words = input(str("enter words to censor(separated by space): "))
print(replaceWords(sentence, words))
if __name__== '__main__':
main()
您可以使用字符串替换:
def replaceWords(text, words):
censored_words = words.split()
replace_character = "-"
for censor in censored_words:
text = text.replace(censor,replace_character*len(censor))
return text
def main():
sentence = input(str("enter a sentence: "))
words = input(str("enter words to censor(separated by space): "))
print(replaceWords(sentence, words))
if __name__== '__main__':
main()
你基本上已经有了正确的想法; 只需将word
从单个字符串更改为字符串列表,然后使用in
查看每个单词是否是该列表的一部分。
>>> from typing import List
>>>
>>> def censor_words(text: str, bad_words: List[str]) -> str:
... return ' '.join(
... '-' * len(word) if word in bad_words else word
... for word in text.split()
... )
...
>>>
>>> print(censor_words("frankly my dear I don't give a damn", ['dear', 'give']))
frankly my ---- I don't ---- a damn
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.