文本解析的难题

80817 2009-12-05 10:27:29
请问谁能帮我把下面的文本解析出来,


北京西直门北大街证券营业部 客户对帐单
客户号:111111 姓名:xxxxx 货币:人民币 日期:20010816-->20090915 牛卡级别::银卡
===================================================================================================================
发生日期 股东代码 摘 要 成交数 成交均价 手续费 印花税等 变动金额 资金余额
20070912 证券买入中兴通讯 500.00 52.220 52.22 78.33 -26240.55 73759.45
20070912 0102976836 证券买入中兴通讯 500.00 51.600 51.60 77.40 -25929.00 47830.45
20070913 A463164590 证券买入赣粤高速 2000.00 17.670 70.68 108.02 -35518.70 12311.75
20070913 证券买入赣粤高速 600.00 17.540 21.05 32.57 -10577.62 1734.13
20070914 A463164590 证券卖出赣粤高速 2600.00 17.930 93.24 142.45 46382.31 48116.44
20070914 0102976836 证券卖出中兴通讯 1000.00 52.871 105.74 158.61 52606.65 100723.09

===================================================================================================================
page 1


北京西直门北大街证券营业部 客户对帐单
客户号:111111 姓名:xxxxx 货币:人民币 日期:20010816-->20090915 牛卡级别::银卡
===================================================================================================================
发生日期 股东代码 摘 要 成交数 成交均价 手续费 印花税等 变动金额 资金余额
20070912 证券买入中兴通讯 500.00 52.220 52.22 78.33 -26240.55 73759.45
20070912 0102976836 证券买入中兴通讯 500.00 51.600 51.60 77.40 -25929.00 47830.45
20070913 证券买入赣粤高速 2000.00 17.670 70.68 108.02 -35518.70 12311.75
20070913 A463164590 证券买入赣粤高速 600.00 17.540 21.05 32.57 -10577.62 1734.13
20070914 A463164590 证券卖出赣粤高速 2600.00 17.930 93.24 142.45 46382.31 48116.44
20070914 0102976836 证券卖出中兴通讯 1000.00 52.871 105.74 158.61 52606.65 100723.09

===================================================================================================================
page 2


北京西直门北大街证券营业部 客户对帐单
客户号:111111 姓名:xxxxx 货币:人民币 日期:20010816-->20090915 牛卡级别::银卡
===================================================================================================================
发生日期 股东代码 摘 要 成交数 成交均价 手续费 印花税等 变动金额 资金余额
20070912 0102976836 证券买入中兴通讯 500.00 52.220 52.22 78.33 -26240.55 73759.45
20070912 0102976836 证券买入中兴通讯 500.00 51.600 51.60 77.40 -25929.00 47830.45
20070913 A463164590 证券买入赣粤高速 2000.00 17.670 70.68 108.02 -35518.70 12311.75
20070913 A463164590 证券买入赣粤高速 600.00 17.540 21.05 32.57 -10577.62 1734.13
20070914 A463164590 证券卖出赣粤高速 2600.00 17.930 93.24 142.45 46382.31 48116.44
20070914 0102976836 证券卖出中兴通讯 1000.00 52.871 105.74 158.61 52606.65 100723.09

===================================================================================================================
page 3





解析目标:
1、解析出数据的抬头以及内容,去掉其它辅助信息,即,解析出如下内容:
发生日期 股东代码 摘 要 成交数 成交均价 手续费 印花税等 变动金额 资金余额
20070912 证券买入中兴通讯 500.00 52.220 52.22 78.33 -26240.55 73759.45
20070912 0102976836 证券买入中兴通讯 500.00 51.600 51.60 77.40 -25929.00 47830.45
20070913 证券买入赣粤高速 2000.00 17.670 70.68 108.02 -35518.70 12311.75
20070913 A463164590 证券买入赣粤高速 600.00 17.540 21.05 32.57 -10577.62 1734.13
20070914 A463164590 证券卖出赣粤高速 2600.00 17.930 93.24 142.45 46382.31 48116.44
20070914 0102976836 证券卖出中兴通讯 1000.00 52.871 105.74 158.61 52606.65 100723.09


2、数据内容是以空格分隔列的,但是某些列的数据内容中也存在空格,如果单纯用空格分隔数据列,会漏掉一部分数据,例如下面“股东代码部分是空格”
发生日期 股东代码 摘 要 成交数 成交均价 手续费 印花税等 变动金额 资金余额
20070912 证券买入中兴通讯 500.00 52.220 52.22 78.33 -26240.55 73759.45



希望各位高手指教,如何才能,将类似数据解析,并识别出,标题和内容!!!!!


...全文
112 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
laoluo554 2009-12-28
  • 打赏
  • 举报
回复
还是有办法的,整行读,等宽分割.
cuike519 2009-12-05
  • 打赏
  • 举报
回复
纯体力劳动...
libolei 2009-12-05
  • 打赏
  • 举报
回复
除了复杂的判断外没什么好方法了吧

源文件有问题 不应该存成txt的

存成Excel , xml会好很多
woshifou 2009-12-05
  • 打赏
  • 举报
回复
换格式,文本不好解析。
wuyq11 2009-12-05
  • 打赏
  • 举报
回复
string str=File.ReadAllText("");
string[] arr=File.ReadAllLine("");
再使用split分割数据
fengling2001 2009-12-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 80817 的回复:]
我有个思路,就是能否用词法分析,找到格式相似的行,将他们提取出来,不知道有哪位高手做过类似的研究,通过相似度来解析有规律的文本。
[/Quote]
ReadLine
文本相似性判断可以使用PLSI(Probabilistic Latent Semantic Indexing)方法
80817 2009-12-05
  • 打赏
  • 举报
回复
自己顶~
80817 2009-12-05
  • 打赏
  • 举报
回复
我有个思路,就是能否用词法分析,找到格式相似的行,将他们提取出来,不知道有哪位高手做过类似的研究,通过相似度来解析有规律的文本。

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧