问题描述
- 使用C#截取记事本中的文本
-
文本内容如下,要截取到的内容【power on all,相对应大括号里Run=后面的内容】,【power off all,相对应大括号里run=后面的内容】Page1{
INIT{
}
TERM{
}
delay=1000power on all{
XPosition=250
YPosition=250
Width=100
Height=35
Run=[com3 115200]#@|CRC|Y(32)00(32)0(32)43690(32)43690(32)43690+#@|CRC|Y(32)01(32)0(32)43690(32)43690(32)43690+#@|CRC|Y(32)02(32)0(32)43690(32)43690(32)43690+#@|CRC|Y(32)03(32)0(32)43690(32)43690(32)43690+#@|CRC|Y(32)04(32)0(32)43690(32)43690(32)43690+#@|CRC|Y(32)05(32)0(32)43690(32)43690(32)43690+#@|CRC|Y(32)06(32)0(32)43690(32)43690(32)43690+#@|CRC|Y(32)07(32)0(32)43690(32)43690(32)43690
Type=1
}power off all{
XPosition=450
YPosition=250
Width=100
Height=35
Run=[com3 115200]#@|CRC|Y(32)00(32)0(32)21845(32)21845(32)21845+#@|CRC|Y(32)01(32)0(32)21845(32)21845(32)21845+#@|CRC|Y(32)02(32)0(32)21845(32)21845(32)21845+#@|CRC|Y(32)03(32)0(32)21845(32)21845(32)21845+#@|CRC|Y(32)04(32)0(32)21845(32)21845(32)21845+#@|CRC|Y(32)05(32)0(32)21845(32)21845(32)21845+#@|CRC|Y(32)06(32)0(32)21845(32)21845(32)21845+#@|CRC|Y(32)07(32)0(32)21845(32)21845(32)21845
Type=1
}
}
解决方案
正则表达式
(?is)(?<=Run=).*?(?=nType)
解决方案二:
这种结构化文本很容易分析的,按照结构的定义逐行读取分析,可以取到所有的信息。
解决方案三:
(?is)(?<=Run=).*?Type=d+