[问题] 如何撷取不同长度的内容?

楼主: don750421 (1+1≠2)   2014-06-25 22:55:10
我要写一支程式供使用者去读取文字档
文字档是由仪器软件所产生。
文字档内容就是量测数据的结果。
类似如下文字档:
Width:100cm
Height:20cm
Tool:xxxxx
Vision:4.2.2.5
温度:200
因为量测仪器有很多款式,产生出的文字档也不同(但是该有的数据都有)
假设我今天要撷取Width,我可以让使用者下数字所在的区间。
再透过SubString去撷取出100这个数字。
如果,今天量测数值是90,则使用者还要再去设定撷取范围。
请问一下,除了设定要撷取的范围这个方法外,还有其他方式吗??
正规表示式这个我有想过,但还是要教使用者去写正规表示式 = ="
所以想问问有没有其他方式,谢谢
作者: VVll (李奥纳多皮卡丘)   2014-06-25 23:36:00
所以仪器软件产生出来的文字格式 你能不能控制,可以的话就产出xml不然用string.split(new string[]{":"}) 以":"作切割或者逐行去读资料,用":"切key跟vlaue
作者: fdvd (府低)   2014-06-25 23:46:00
如果说 输出的字段都一样 譬如一样是那五个字段 以Width来说 只需要数值的部份而不涵盖单位, 可以考虑在substring完后将单位的字串trim掉 只是不确定原PO是不是指这意思@@"
作者: aacced (aacced)   2014-06-26 01:02:00
string strSample = "Width:100cm";int iCapture = strSample.IndexOf(":") + 1;string strResult = strSample.Substring(iCapture, (strSample.Length - iCapture - 2));最后-2是减掉cm, 也可以先判断字串内有无cm,若无就不-2
作者: chrisQQ (ChrisLiu)   2014-06-26 11:33:00
:后面值的部份直接正规砍掉不是 0-9\. 的会不会比较简单原来原PO不要 regex 我错了...

Links booklink

Contact Us: admin [ a t ] ucptt.com