namespace XFEExtension.NetCore.FormatExtension; /// /// XFE条目 /// /// 头 /// 内容 public class XFEEntry(string header, string content) { /// /// 头 /// public string Header { get; set; } = header; /// /// 内容 /// public string Content { get; set; } = content; /// /// 转换为字符串 /// /// public override string ToString() { return $"|{{+-[+-{Header.Replace("[+", "[++").Replace("+]", "++]").Replace("|{+", "|{++").Replace("+}|", "++}|")}-+][+-{Content.Replace("[+", "[++").Replace("+]", "++]").Replace("|{+", "|{++").Replace("+}|", "++}|")}-+]-+}}|"; } /// /// 将字符串转化为条目对象 /// /// /// public static XFEEntry? ToEntry(string entryString) { var messages = entryString.Split(XFEDictionary.DictionarySeparator, StringSplitOptions.None); foreach (var message in messages) { var xFEDictionaryString = message.Split(XFEDictionary.EntrySeparator, StringSplitOptions.None); if (xFEDictionaryString.Length == 5) { return new XFEEntry(xFEDictionaryString[1].Replace("[++", "[+").Replace("++]", "+]").Replace("|{++", "|{+").Replace("++}|", "+}|"), xFEDictionaryString[3].Replace("[++", "[+").Replace("++]", "+]").Replace("|{++", "|{+").Replace("++}|", "+}|")); } } return null; } }