Это мой последовательный порт, полученный данными в текстовом поле.Соответствие шаблону в C#
Current consumed by device : 0.45
Power consumption: = [ 103.2277 ]
ENERGY CONSUMED: = [ 24.250 ]
Length = 6
Current consumed by device : 0.45
Power consumption: = [ 103.5094 ]
ENERGY CONSUMED: = [ 24.250 ]
Length = 4
Я хочу, чтобы извлечь только значения «Потребляемая мощность» и «Энергия, израсходованная» и отобразить его в текстовом поле отдельно, каждый раз, когда это приходит через последовательный порт.
Как эффективно и эффективно разобрать это?
вот мой код
enter code here
Regex regex = new Regex(@"(Power consumption: (.*?) ])");
Match match = regex.Match(temp);
if (match.Success)
{
string abc = match.Value;
string res = new string(abc.SkipWhile(c => c != '[')
.Skip(1)
.TakeWhile(c => c != ']')
.ToArray()).Trim();
float f_num = float.Parse(res);
// trackBar1.Value = (int)f_num;
textBox2.Text = f_num.ToString();
пожалуйста предложить мне более быстрый код.
Регулярное выражение будет вашим лучшим выбором. – nieve
Я пробовал это .. heres мой код –