public void PreParse(string str) { if (str == "") { return; } string[] line = IJStringUtil.SplitWithCRLFAndEraseComment(str); ParseLine(line[0]); for (int i = 1; i < line.Length; ++i) { element_list_.Add(new CustomFormatElement(line[i])); } }
/// <summary> /// フィルターを解析する(フィルターを使う前にこの関数を呼び出す必要がある) /// </summary> /// <param name="str">フィルターファイルの中身</param> public void Parse(string str) { string[] line = IJStringUtil.SplitWithCRLFAndEraseComment(str); int start_blacket = -1; for (int i = 0; i < line.Length; ++i) { if (line[i].StartsWith("[")) { if (start_blacket >= 0) // 最初は無視 { element_list_.Add(FilterElementFactory.MakeElement(line, start_blacket, i)); } start_blacket = i; } } // 最後のブロックの処理 if (start_blacket >= 0) { element_list_.Add(FilterElementFactory.MakeElement(line, start_blacket, line.Length)); } }