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

Mac平台下高效过滤JMnedict.xml指定姓名类条目方案咨询

高效筛选JMnedict.xml姓名条目的Mac平台方案

一、使用BBEdit快速筛选

BBEdit对大文件的正则处理支持出色,无需全量加载即可操作:

  1. 打开JMnedict.xml,点击顶部菜单「搜索」→「查找」,勾选「正则表达式」和「匹配换行符」
  2. 用以下正则匹配目标条目块(覆盖你需要的所有类型):
    <entry>.*?<ke_inf>(f|m|s|g|u)</ke_inf>.*?</entry>
    
    说明:f=女性名,m=男性名,s=姓,g=通用名,u=未分类
  3. 点击「全部查找」,右键搜索结果→「提取到新文档」,即可得到所有符合条件的条目

若需拆分不同类型,将正则里的(f|m|s|g|u)替换为单个类型(比如f),重复操作即可。

二、用Mac自带命令行工具(最快方案)

Mac终端自带的awk能高效处理超大文件,无需打开编辑器:

提取所有目标条目

在终端执行:

awk '/<entry>/{flag=1; buf=""} flag{buf=buf $0 "\n"} /<\/entry>/{if(buf ~ /<ke_inf>(f|m|s|g|u)<\/ke_inf>/) print buf; flag=0}' JMnedict.xml > filtered_names.xml

该命令会逐行读取文件,将包含目标ke_inf的<entry>块全部提取到filtered_names.xml中。

拆分单独类型(比如提取女性名)

awk '/<entry>/{flag=1; buf=""} flag{buf=buf $0 "\n"} /<\/entry>/{if(buf ~ /<ke_inf>f<\/ke_inf>/) print buf; flag=0}' JMnedict.xml > female_names.xml

把f换成m/s/g/u,就能分别提取对应类型的条目。

三、Python脚本解析(最精准,适合后续加工)

如果需要对姓名做进一步处理(比如提取假名、汉字),用Python的XML解析库更可靠:

  1. 创建filter_jmnedict.py文件,内容如下:
import xml.etree.ElementTree as ET

# 定义需要保留的类型
target_types = {'f', 'm', 's', 'g', 'u'}
output_file = 'filtered_names.xml'

# 迭代解析大XML文件,避免内存溢出
context = ET.iterparse('JMnedict.xml', events=('start', 'end'))
context = iter(context)
event, root = next(context)

with open(output_file, 'w', encoding='utf-8') as f:
    f.write('<?xml version="1.0" encoding="UTF-8"?>\n<JMnedict>\n')
    
    for event, elem in context:
        if event == 'end' and elem.tag == 'entry':
            # 检查是否存在目标类型的ke_inf
            ke_infs = elem.findall('.//ke_inf')
            for ke_inf in ke_infs:
                if ke_inf.text in target_types:
                    # 写入符合条件的条目
                    f.write(ET.tostring(elem, encoding='unicode'))
                    f.write('\n')
                    break
            # 清理元素释放内存
            root.clear()
    
    f.write('</JMnedict>')
  1. 在终端执行:python3 filter_jmnedict.py,完成后即可得到精准筛选的文件。

内容的提问来源于stack exchange,提问作者Kim Yoonmi--Surname first

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 07:01:21