以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 文字识别怎么弄 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=194585) |
-- 作者:zhchling -- 发布时间:2024/12/24 13:53:00 -- 文字识别怎么弄 日期:2025-01-13, 王大侠,2人 电话:15912311231 酒店:关外 我以为经常要录入客户信息, 类似这样的一段文字, 怎么能一键识别,提取出来 姓名、手机号、人数、日期,这4个字段
|
-- 作者:有点蓝 -- 发布时间:2024/12/24 14:06:00 -- Dim s As String = "日期:2025-01-13, " & vbcrlf & "王大侠,2人 电话:15912311231" Dim ss() As String = s.Replace(vbcr, "").Split(vblf) For Each a As String In ss MsgBox(a) Dim aa() As String = a.Split(New Char(){":", ","}) For Each b As String In aa MsgBox(b) Next Next |
-- 作者:zhchling -- 发布时间:2024/12/24 14:11:00 -- 试了一下,上面的代码,只是把文字按空格或标点断开, 我的需求是,在混乱的一段文字里,根据特征,自动识别出来姓名(3个汉字以内)。手机号(11个数字),人数(数字+人),日期(格式可能不同), 分别赋予到4个变量里, [此贴子已经被作者于2024/12/24 14:12:47编辑过]
|
-- 作者:有点蓝 -- 发布时间:2024/12/24 14:22:00 -- 根据什么特征呢? |
-- 作者:zhchling -- 发布时间:2024/12/24 16:34:00 -- 手机号我能提取出来了, If Char.isnumber(b) And len(b) = 11 Then e.Form.Controls("TextBox_shoujihao").Value=b End If怎么判断并提取日期?涉及日期的文字有可能 2024-12-24 或者 2024年12月24日 [此贴子已经被作者于2024/12/24 16:34:50编辑过]
|
-- 作者:有点蓝 -- 发布时间:2024/12/24 16:54:00 -- 用正则: Dim pattern As String = "\\d{4}-\\d{1,2}-\\d{1,2}|\\d{4}年\\d{1,2}月\\d{1,2}日"
Dim txt = "涉及日期的文字有可能 2024-12-24或者 2024年12月24日" Dim rgx = New System.Text.RegularExpressions.Regex(pattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase) For Each match As System.Text.RegularExpressions.Match In rgx.Matches(txt) Output.Show(match.Value) Next |
-- 作者:zhchling -- 发布时间:2024/12/24 18:41:00 -- 姓名怎么获取呢? 我想了几个办法 1. 中文字符2个或3个的。 2.用鼠标选中的文字,自动提取出来。 鼠标选中的字符, 或者鼠标单击的字符附近2-3个字符,提取出来, 选中字符、单击字符是什么事件,用什么方法提取? [此贴子已经被作者于2024/12/24 18:44:21编辑过]
|
-- 作者:有点蓝 -- 发布时间:2024/12/24 19:29:00 -- 没有【选中字符、单击字符】这种事件。如果没有什么规律,只能手工复制粘贴了 |