Exemple #1
0
 public void Add(TagSet tag_set)
 {
     for (int i = 0; i < tag_set.tag_list_.Count; ++i)
     {
         int j;
         for (j = 0; j < tag_list_.Count; ++j)
         {
             if (IJStringUtil.CompareString(tag_list_[j].GetRawTag(), tag_set.tag_list_[i].GetRawTag()))
             {
                 break;
             }
         }
         if (j >= tag_list_.Count)
         {
             tag_list_.Add(tag_set.tag_list_[i]);
         }
     }
 }
Exemple #2
0
        // タグリストから P名を推定する
        public static string GetPname(TagSet tag_set, out int index)
        {
            if (pname_list_ == null) // 初回にリストをロードする
            {
                if (File.Exists("pnamelist.txt"))
                {
                    pname_list_ = IJStringUtil.SplitWithCRLF(IJFile.Read("pnamelist.txt"));
                }
                else
                {
                    pname_list_ = new string[0];
                }
            }

            for (int i = 0; i < tag_set.tag_list_.Count; ++i)
            {
                for (int j = 0; j < pname_list_.Length; ++j)
                {
                    if (IJStringUtil.CompareString(tag_set.tag_list_[i].GetRawTag(), pname_list_[j]))
                    {
                        index = i;
                        return(pname_list_[j]);
                    }
                }
            }
            // リストから見つからない場合は後ろにPのついたタグを探す
            for (int i = 0; i < tag_set.tag_list_.Count; ++i)
            {
                if (tag_set.tag_list_[i].GetRawTag().EndsWith("P", StringComparison.InvariantCultureIgnoreCase) ||
                    tag_set.tag_list_[i].GetRawTag().EndsWith("P", StringComparison.InvariantCultureIgnoreCase))
                {
                    index = i;
                    return(tag_set.tag_list_[i].GetRawTag());
                }
            }
            index = -1;
            return(""); // それでも見つからないときは空文字を返す
        }