private void GetTagsAndSplits()
{
bool writeTag = false;
var tag = new StringBuilder();
var split = new StringBuilder();
foreach (char c in _mask)
{
if (c != '{' && !writeTag)
{
split.Append(c);
}
if (c != '{' && c != '}' && writeTag)
{
tag.Append(c);
}
if (c == '{' && writeTag)
{
split.Append(tag);
tag.Clear();
tag.Append(c);
}
if (c == '{' && !writeTag)
{
tag.Append(c);
writeTag = true;
}
if (c == '}' && writeTag)
{
tag.Append(c);
writeTag = false;
_tags.Add(tag.ToString());
tag.Clear();
_splits.Add(split.ToString());
split.Clear();
}
}
_splits.Add(split.ToString() + tag.ToString());
}