python实现文件过滤非中文字符
时间: 2023-07-31 12:11:09 浏览: 84
可以使用正则表达式来实现。以下是一个简单的 Python 函数,可以从文件中读取内容,过滤非中文字符,并返回过滤后的结果:
```python
import re
def filter_chinese(file_path):
with open(file_path, 'r', encoding='utf-8') as f:
content = f.read()
pattern = re.compile(r'[^\u4e00-\u9fa5]') # 匹配非中文字符
filtered_content = re.sub(pattern, '', content) # 过滤非中文字符
return filtered_content
```
其中,`file_path` 参数是待处理文件的路径,函数将返回过滤后的中文字符串。
相关问题
Python实现敏感词过滤
Python可以通过多种方式实现敏感词过滤,以下是其中一种常见的实现方式:
1. 使用正则表达式:可以使用re模块中的正则表达式函数来匹配敏感词并进行替换或删除。首先,将敏感词存储在一个列表或者文件中,然后使用re.sub()函数将匹配到的敏感词替换为指定的字符或者删除。
示例代码如下:
```python
import re
def filter_sensitive_words(text, sensitive_words):
for word in sensitive_words:
pattern = re.compile(r'\b' + word + r'\b', re.IGNORECASE)
text = re.sub(pattern, '*' * len(word), text)
return text
sensitive_words = ['敏感词1', '敏感词2', '敏感词3']
text = '这是一段包含敏感词1和敏感词2的文本。'
filtered_text = filter_sensitive_words(text, sensitive_words)
print(filtered_text)
```
输出结果为:`这是一段包含***和***的文本。`
python 批量过滤txt中的非中文字符
可以使用正则表达式来过滤非中文字符。以下是一个简单的 Python 示例代码:
```python
import re
def filter_chinese(file_path):
with open(file_path, 'r', encoding='utf-8') as f:
text = f.read()
pattern = re.compile(r'[^\u4e00-\u9fa5]+')
filtered_text = re.sub(pattern, '', text)
with open(file_path, 'w', encoding='utf-8') as f:
f.write(filtered_text)
```
该函数接受一个文件路径作为参数,将文件中的非中文字符过滤掉,并将结果重新写回到文件中。调用该函数即可完成批量过滤。
阅读全文