高分:c#高手请进richtextbox中如何提取数据

2025-03-01 06:34:55
推荐回答(2个)
回答1:

按照你说每隔1s会有一行数据进来,看你的数据的特点,只要有T和H就必然有MyID,那你可以首先通过IndexOf函数判断本行数据是否包含MyID,如果是那么开始分离数据,不是得话就不管。

分离数据001和IP是很简单的,试用SubString函数就可以截取字符串中的某个部分,
随后通过Split函数,以分号为分隔符,可以吧该行拆为5段,T的索引是2,H的索引是3
然后通过Split函数,以等号为分隔符,可以把T与24.5,H与43.89分开,再次索引1就可以得到数据。

回答2:

取中括号的内容(3个中括号)的正则: string patter1 = @"[\([][\s\S]*[\])]";
得到结果如 [001][127.0.0.1][10:51:49]

取T=24.50类型的正则: string patter2 = @"(?<=T=).{0,5}";
得到结果 24.50
取H=数字 的正则 string patter3 =@"(?<=H=).{0,5}”