CEDICT 詞典物件

程式作品

C 語言

Java

C#

JavaScript

常用函數

文字處理

遊戲程式

衛星定位

系統程式

資料結構

網路程式

自然語言

人工智慧

機率統計

資訊安全

等待完成

訊息

相關網站

參考文獻

最新修改

簡體版

English

using System;
using System.Collections.Generic;
using System.Text;

namespace OpenCL
{
    public class CEWord
    {
        public String tc;           // tc   : 繁體中文, traditional chinese
        public String sc;           // sc   : 簡體中文, simplified chinese
        public String pinyin;       // 拼音。
        public String[] e;     // 各種不同的意義

        public CEWord(String line)
        {
            String head = STR.head(line, "[");
            String tail = STR.tail(line, "/");
            tc = STR.head(head, " ").Trim();
            sc = STR.tail(head, " ").Trim();
            pinyin = STR.innerText(line, "[", "]");
            e = tail.Split('/');
        }

        public override String ToString()
        {
            return tc + " " + sc + " [" + pinyin + "] /" + String.Join("/", e);
        }
    }

    public class CEDict
    {
        Dictionary<String, CEWord> tcMap = new Dictionary<String, CEWord>(), scMap = new Dictionary<String, CEWord>();

        TextFile file;

        public CEDict() : this(@"dictionary/cedict_ts.u8") {}

        public CEDict(String filePath)
        {
            file = new TextFile(filePath);
            foreach (String line in file.lines())
            {
                if (line.Length == 0) continue;
                if (line.StartsWith("#")) continue;
                CEWord word = new CEWord(line);
                if (!tcMap.ContainsKey(word.tc))
                    tcMap.Add(word.tc, word);
                if (!scMap.ContainsKey(word.sc))
                    scMap.Add(word.sc, word);
                Debug.println(word.ToString());
            }
        }

        public CEWord get(String key)
        {
            if (tcMap.ContainsKey(key))
                return tcMap[key];
            else if (scMap.ContainsKey(key))
                return scMap[key];
            return null;
        }
    }
}

Facebook

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License