使用python实现输入一字符串,然后在字符串里找到敏感词并替换为*
时间: 2024-09-24 07:23:19 浏览: 30
在Python中,你可以通过内置的`str.replace()`函数或者正则表达式库`re`来实现这个功能。这里是一个简单的示例:
```python
def replace_sensitive_words(input_string, sensitive_words):
# 创建一个包含敏感词的列表
forbidden_words = ["敏感词1", "敏感词2", "词3"] # 请将这里的词替换为你实际需要过滤的词
# 使用replace()函数遍历并替换敏感词
for word in forbidden_words:
input_string = input_string.replace(word, '*' * len(word)) # 将每个敏感词替换成星号对应数量的*
return input_string
# 示例用法
input_text = input("请输入字符串:")
filtered_text = replace_sensitive_words(input_text, ["敏感词1", "敏感词2"])
print("替换后的文本:", filtered_text)
```
在这个例子中,用户可以输入一个字符串,程序会查找其中的指定敏感词,并将其替换为星号(*)的数量与原单词长度相同。
相关问题
使用Python内建函数实现敏感词替换
在Python中,可以使用内建的字符串方法和列表来实现敏感词替换。通常的做法是创建一个包含敏感词及其替换项的字典,然后遍历文本,根据这个字典进行替换。以下是一个简单的示例:
```python
def replace_sensitive_words(text, word_dict):
# 创建一个字典,键是敏感词,值是替换后的文字
sensitive_words = {
'敏感词1': '替换后1',
'敏感词2': '替换后2',
# 添加更多敏感词和替换项...
}
# 使用字符串的replace()方法,遍历并替换敏感词
for original_word, replacement in sensitive_words.items():
text = text.replace(original_word, replacement)
return text
# 示例用法
text = "这是一个包含敏感词1和敏感词2的文本"
word_dict = {'敏感词1': '屏蔽词1', '敏感词2': '屏蔽词2'}
clean_text = replace_sensitive_words(text, word_dict)
print(clean_text)
```
测试用户输入中是否有敏感词,如果有就把敏感词替换为***
好的,这是一个常见的文本过滤需求,可以使用 Python 的 re 模块来实现。以下是一个简单的实现示例:
```python
import re
sensitive_words = ['敏感词1', '敏感词2', '敏感词3']
def filter_sensitive_words(text):
pattern = '|'.join(sensitive_words)
return re.sub(pattern, '***', text)
# 示例
user_input = '这句话中包含敏感词1和敏感词2'
filtered_input = filter_sensitive_words(user_input)
print(filtered_input) # 输出:这句话中包含***和***
```
在上述示例中,我们首先定义了一个敏感词列表 sensitive_words。然后,我们编写了一个名为 filter_sensitive_words 的函数,该函数接受一个字符串参数 text,并返回一个过滤后的字符串,其中敏感词被替换为 ***。函数内部使用了 re.sub 方法,该方法可以根据正则表达式匹配和替换字符串中的子串。我们将敏感词列表中的所有词用竖线字符(|)合并为一个正则表达式,然后传递给 re.sub 方法,将匹配到的敏感词替换为 ***。最后,我们对一个示例输入进行了测试,并打印了过滤后的结果。