注册
 找回密码
 注册
江西广告网
查看: 362|回复: 0
打印 上一主题 下一主题

字符串识别算法

[复制链接]

该用户从未签到

1
跳转到指定楼层
发表于 2009-2-12 09:00:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
最近,一个项目,做一个工具,代替原来的人工识别文档的工作, 有辛,本人被安排研究字符串识别算法, 历经7天, 已经实现改算法, 识别率相当的高! 被分析字符串来自excel的一行. 按照业务逻辑来看,一行excel里面 只有两中域 一种叫可变域,另一种叫非可变域, 研究发现, 可变域(下面称为FIELD)有着比较明显的特点,都是以特殊字符打头,以某几种方式存在, 因为以特殊字符打头""""所以,算法来了! 1.关键头字触发 触发什么呢? 暗示程序下面可能会有一个FIELD, 那么下面就开始看,是不是一个FIELD,我的实现办法主要是:正则表达式匹配出满足特征的字符, 一个正则表达式子就解决问题了吗?没有""""""关于FIELD的设计思路在这里体现出来了! //'X','X','*','Y','M','D','H','Z','9' //'X' list_x.add("X \\-X "); list_x.add("X "); //'X' list_X2.add("(X ) X"); list_X2.add("(X ) "); //'Y' list_Y.add("[Y]{4}[/][M]{2}[/][D]{2}"); list_Y.add("[Y]{4}"); //'*' list_xx.add("(* ){3}. (* ){3}"); //'H' list_H.add("HH:MI:SS"); list_H.add("HH:MI"); //'M' list_M.add("[M]{2}/[D]{2}"); list_M.add("[M]{2}"); //'D' list_D.add("[D]{2}"); //'Z' list_Z.add("[Z]{1,3},(ZZZ,)*[Z]{1,2}9"); list_Z.add("[Z]{1,3}9"); list_Z.add("[Z]{1,3}"); //'9' list_9.add("9999"); 实现一个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表