back (доработать то, что шаблонной строке у нас может указываться не только T и P, а и другие возможные значения в {}, для этого надо через регёлярные выражения достать эти значения, опираясь на шаблонную строку и закинуть в массив)

вероятно, вынести все циклы с regex и mutch в отдельную функцию, так как они индентично работают.
This commit is contained in:
revengel66 2024-10-01 14:39:15 +03:00
parent 53a4567a0d
commit 103dc552e0
2 changed files with 5 additions and 4 deletions

View File

@ -80,6 +80,7 @@ namespace ComponentsLibrary
PropertyInfo[] properties = typeof(T).GetProperties();
string layout = layoutString;
string pattern = @"^(.*?){T}.*?(.*?){P}";
//string input2 = "Температура воздуха ТЕМПЕРАТУРА ВЫСОКАЯ, давление НИЗКОЕ";
string? selectedString = item?.ToString();
@ -102,15 +103,15 @@ namespace ComponentsLibrary
staticText[i] = match.Groups[i+1].Value;
}
//string pattern2 = $@"{beforeT}(.*?)\{beforeP}(.*)";
//"Температура воздуха (.*?)\\, давление (.*)"
//string pattern2 = $@"{beforeT}(.*?)\{beforeP}(.*)\{beforeEnd}";
//"Температура воздуха (.*?)\\, давление (.*)\\, такие дела"
string patternStatic = $@"";
for (int i = 0; i < staticText.Length; i++)
{
if (i == staticText.Length - 1)
{
patternStatic += $"{staticText[i]}(.*?)";
patternStatic += $"{staticText[i]}(.*)";
}
else {
patternStatic += $"{staticText[i]}(.*?)\\";

View File

@ -60,7 +60,7 @@ namespace ComponentsLab
private void listBoxValues_Load(object sender, EventArgs e)
{
listBoxValues.SetLayout("Ňĺěďĺđŕňóđŕ âîçäóőŕ {prop1}, äŕâëĺíčĺ {prop2}, ňŕęčĺ äĺëŕ", '{', '}');
listBoxValues.SetLayout("Температура воздуха {T}, давление {P}", '{', '}');
var objectList = new List<ObjectClass>
{
new ObjectClass { T = "òåìïåðàòóðà âûñîêàÿ", P = "1008" },