мне стыдно перед всей моей родословной, что мой мозг не смог родить что-то более умное
This commit is contained in:
parent
c8777e4549
commit
6862daad73
@ -6,6 +6,7 @@ using System.Drawing;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
@ -62,7 +63,95 @@ namespace Components
|
|||||||
// "Дорогой дневник, мне не подобрать слов чтобы описать всю радость пенис, что я испытал сегодня; блаблабла"
|
// "Дорогой дневник, мне не подобрать слов чтобы описать всю радость пенис, что я испытал сегодня; блаблабла"
|
||||||
StringBuilder tp = new StringBuilder(template);
|
StringBuilder tp = new StringBuilder(template);
|
||||||
|
|
||||||
|
string cleanTemplate = Regex.Replace(template, @"\{.*?\}", "");
|
||||||
|
List<char> symbolsTemplate = cleanTemplate.ToCharArray().ToList();
|
||||||
|
List<char> symbols = row.ToCharArray().ToList();
|
||||||
|
|
||||||
|
int iTemp = 0;
|
||||||
|
bool isTemplate = true;
|
||||||
|
bool islastWasSpace = true;
|
||||||
|
List<char> final = new List<char>();
|
||||||
|
List<int> spaces = new List<int>();
|
||||||
|
for (int i = 0; i < symbols.Count(); i++)
|
||||||
|
{
|
||||||
|
if (symbols[i] == symbolsTemplate[iTemp])
|
||||||
|
{
|
||||||
|
isTemplate = true;
|
||||||
|
iTemp++;
|
||||||
|
if (iTemp >= symbolsTemplate.Count)
|
||||||
|
{
|
||||||
|
i++;
|
||||||
|
while (i < symbols.Count())
|
||||||
|
{
|
||||||
|
final.Add(symbols[i]);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
isTemplate = false;
|
||||||
|
}
|
||||||
|
if (!isTemplate)
|
||||||
|
{
|
||||||
|
final.Add(symbols[i]);
|
||||||
|
islastWasSpace = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!islastWasSpace)
|
||||||
|
{
|
||||||
|
final.Add(' ');
|
||||||
|
spaces.Add(final.Count - 1);
|
||||||
|
islastWasSpace = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
final.Add(' ');
|
||||||
|
spaces.Add(final.Count - 1);
|
||||||
|
|
||||||
|
List<string> words = new List<string>();
|
||||||
|
StringBuilder w = new StringBuilder();
|
||||||
|
for (int i = 0; i < final.Count; i++)
|
||||||
|
{
|
||||||
|
bool space = false;
|
||||||
|
for (int j = 0; j < spaces.Count; j++)
|
||||||
|
{
|
||||||
|
if (i == spaces[j])
|
||||||
|
{
|
||||||
|
space = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (space)
|
||||||
|
{
|
||||||
|
words.Add(w.ToString());
|
||||||
|
w.Remove(0, w.Length);
|
||||||
|
i++;
|
||||||
|
if ( i == final.Count)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
w.Append(final[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
StringBuilder t = new StringBuilder(template);
|
||||||
|
int wordind = 0;
|
||||||
|
for (int i = 0; i < t.Length; i++)
|
||||||
|
{
|
||||||
|
if (t[i] == '{')
|
||||||
|
{
|
||||||
|
i++;
|
||||||
|
while (t[i] != '}')
|
||||||
|
{
|
||||||
|
t.Remove(i, 1);
|
||||||
|
}
|
||||||
|
t.Insert(i, words[wordind], 1);
|
||||||
|
wordind++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sb = t;
|
||||||
|
|
||||||
foreach (var property in typeof(T).GetProperties())
|
foreach (var property in typeof(T).GetProperties())
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user