Мне нужно, чтобы разобрать эту строку из последовательного: -Разбираем уникальную строку из сложной последовательной передачи данных C#
!00037,[email protected]
00037 в одну строку, 00055 в качестве другой строки
Однако эта строка вышла, когда шина робота вращается, а другая строка также может отображаться до и после строки, которую мне нужно проанализировать. Например, это часть передачи полученных: -
11,[email protected]!00011,[email protected]!00001,[email protected]!00001,[email protected]!00003,[email protected]!00006,[email protected]!00009,[email protected]!00011,[email protected]!00011,[email protected]!00011,[email protected]!00001,[email protected]!00001,[email protected]!00003,[email protected]!00006,[email protected]!00009,[email protected]!00011,[email protected]!00001,[email protected]!00003,[email protected]!00006,[email protected]!00009,[email protected]!00011,[email protected]!00037,[email protected]!00023,[email protected]!00022,[email protected]!00011,[email protected]!00011,[email protected]!00001,[email protected]!00001,[email protected]!00003,[email protected]!00006,[email protected]!00009,[email protected]!00011,[email protected]!00037,[email protected]!00023,[email protected]!00022,[email protected]!00011,[email protected]!00011,[email protected]!00001,[email protected]
До сих пор я застрял на том, что делать дальше после SerialPort.ReadExisting()
Вот код для получения последовательных данных: -
private void serialCom_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
try
{
InputData = serialCom.ReadExisting();
if (InputData != String.Empty)
{
this.BeginInvoke(new SetTextCallback(IncomingData), new object[] { InputData });
}
}
catch
{
MessageBox.Show("Error");
}
}
и дисплей входящие последовательные данные внутри текстового поля
private void IncomingData(string data)
{
tb_incomingData.AppendText(data);
tb_incomingData.ScrollToCaret();
}
Этот код USI ng .NET Framework 4.0 и Windows Form.
Вам нужны все строки, которые соответствуют '! #####, ##### @' или только один? –
yes @EBrown .. Мне нужны все строки, которые соответствуют! #####, ##### @, так как он обновляет вращение шины –
Вы можете использовать выражение регулярного выражения, подобное '! ([0-9]). + (, [0-9] {5} @) ', чтобы обрезать строки, входящие в последовательный отчет. Примечание. Я не очень хорошо разбираюсь в регулярном выражении, поэтому, вероятно, есть лучший способ написать это. –