每次打开串口时都会收到以下字符串,该字符串用于检查所连接设备正在运行的 BIOS 版本和固件版本。
细绳:
v03400216000000001FC5H240108206B-RAMBOX=[03]
现在检查 Bios 版本和固件版本的唯一重要字符如下:
03400216
注意:bytearray
是 abyte[]
转换为 astring
并填充:
v03400216000000001FC5H240108206B-RAMBOX=[03]
我尝试使用以下代码实现此目的:
string versiontext = bytearray.Trim();
bytearray = versiontext.Remove(0, 2);
versiontext = bytearray.Remove(9, bytearray.Length);
bytearray = versiontext;
但这没有成功,并导致以下异常:
Index and count must refer to a location within the string.
我应该使用Regex
, 而不是.Remove
?
编辑:
@lazyberezovsky 帮助我,我只是忘记了.Substring()
.
我string result
使用以下代码实现了:
if (bytearray.Contains("RAMBOX"))
{
string Versionstring = bytearray.Substring(1, 8);
bytearray = Versionstring;
}