You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python清除文本文件中除阿拉伯字母外的所有字符

问题原因

你当前使用的正则表达式没有正确匹配阿拉伯字母的字符范围,Python默认re模块的\w元字符仅包含英文字母、数字和下划线,不包含阿拉伯字母,因此原规则会误删阿拉伯文本。

解决方案

直接匹配阿拉伯字母的Unicode编码范围\u0600-\u06FF,仅保留该范围字符和必要的空格即可,修改后代码如下:

import re

# 加载文本(用with语句更安全,会自动关闭文件)
filename = '/content/drive/MyDrive/Colab Notebooks/ArabicKidsStories.txt'
with open(filename, 'rt', encoding='utf-8') as file:
    text = file.read()

# 仅保留阿拉伯字母和空白符
text = re.sub(r'[^\u0600-\u06FF\s]', '', text)
# 可选:去除多余的连续空格、首尾空格,优化输出格式
text = re.sub(r'\s+', ' ', text).strip()

print(text)

规则说明

正则r'[^\u0600-\u06FF\s]'中:

  • \u0600-\u06FF覆盖了标准阿拉伯字母的全部Unicode编码范围
  • ^放在方括号开头表示取反,即匹配所有不在上述范围、也不是空白符的字符
  • 所有匹配到的字符都会被替换为空,最终仅保留阿拉伯字母和空格

内容的提问来源于stack exchange,提问作者Lama S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 13:21:05