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;
}
}