
大概就是这样一个表格:
http://i.imgur.com/kBCekRl.png
表格的位置在 txt 中不固定,没有制表符……
表格内容数据也不固定……
怎样用 java 分析出这里有个表格然后吧数据提取出来呢?
1 soratadori 2015-11-01 03:27:09 +08:00 这个表格每一个字段似乎是定长的,那就很简单了,直接分析每一行有多少个空格,大于一定数量的就判断为表。大概就这么个思路 |
2 lzxgh621 2015-11-01 03:31:49 +08:00 似乎只有最后一列数据有空格,前面的数据都没有空格。 |
3 kokutou 2015-11-01 07:55:17 +08:00 excel 直接打开然后选固定宽度,就 OK 了。 Java 分析的话,就找字母记宽度咯。 |
4 azuginnen 2015-11-01 09:10:56 +08:00 via Android AWK 可破 |
5 plqws 2015-11-01 10:27:43 +08:00 按照第四行的 - 的长度来截取可破 |
6 Victor215 2015-11-01 10:30:28 +08:00 AWK +1 |
7 fengyqf 2015-11-01 11:38:30 +08:00 找规律,找规律后,你有无数的方法处理。 现成的工具,比如 awk , excel 自己写脚本,随便一种编程语言都行吧 |
9 hantsy 2015-11-01 14:48:34 +08:00 这个好像宽度固定的啊,,,很好解决的吧。 |
10 jukka 2015-11-01 15:46:23 +08:00 via iPhone C 里 fscanf 就可以了。 不过目测 awk 不超过 10 行代码。 |
11 iluhcm 2015-11-01 16:44:28 +08:00 正则,“\\s+” |
12 jings 2015-11-01 16:49:27 +08:00 调用 shell 很快吧 |
13 czk1997 OP |
14 fengyqf 2015-11-02 09:41:23 +08:00 @czk1997 再补充一个思路,该 txt 文件是谁生成的,能否拿到其源码或联系其开发人员,这样就不用费力的猜测规律了。 最主要的还是要“找规律”,只要规律确定,只是个按你所使用工具(或编程语言)的语法要求,按规律实现拆分即可。 |
15 tees 2015-11-02 09:53:03 +08:00 awk +1 |
16 wizardoz 2015-11-02 13:18:00 +08:00 我觉得 5 楼说的靠谱,根据第四行的-------分析出每列的宽度,然后截取。 |
18 wwjvtwoex 2015-11-03 10:29:27 +08:00 表头高度固定 ? 第 1 列是序号? |
21 wwjvtwoex 2015-11-06 20:28:51 +08:00 先找分割线所在行,在向下查找首部有连续数字的行 |