Foxtable(狐表)用户栏目专家坐堂 → 提取年月日


  共有2317人关注过本帖树形打印复制链接

主题:提取年月日

帅哥哟,离线,有人找我吗?
zsxx999ja
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:206 积分:2187 威望:0 精华:0 注册:2020/10/3 6:58:00
提取年月日  发帖心情 Post By:2020/10/28 20:54:00 [只看该作者]

我局经常发通知,内容如下:【区教育科技体育局】会议通知:2017年6月25日(星期日)下午3:00,在区公安分局一楼大会议室,区委书记文建平主持召开广安区脱贫攻坚工作研讨会议。参会人员:各农村公办中小学校长(各片区教育督导组负责通知辖区学校)。收到请回复,谢谢!今天尚来接受督查的学校,分管领导和资料经办人在家接受督查。,这还用问中如何用正则方法,取出当中的日期并转成yyyy-mm-dd的形式?写出代码示范一直

 回到顶部
帅哥哟,离线,有人找我吗?
zsxx999ja
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:206 积分:2187 威望:0 精华:0 注册:2020/10/3 6:58:00
  发帖心情 Post By:2020/10/28 21:43:00 [只看该作者]

Dim str As String = "【区教育科技体育局】会议通知:2017年6月25日(星期日)下午3:00,在区公安分局一楼大会议室,区委书记文建平主持召开广安区脱贫攻坚工作研讨会议.参会人员:各农村公办中小学校长(各片区教育督导组负责通知辖区学校).收到请回复,谢谢!"
Dim mc = System.Text.RegularExpressions.Regex.Matches(str, "\d{4}年\d{1,2}月\d{1,2}日")  
msgbox(mc(0).value)

 回到顶部
帅哥哟,离线,有人找我吗?
zsxx999ja
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:206 积分:2187 威望:0 精华:0 注册:2020/10/3 6:58:00
  发帖心情 Post By:2020/10/29 14:30:00 [只看该作者]

老师帮忙看一下,错在什么地方:从通知中提出日期至会议时间列,我是在datacolchanged事件中写的
If e.DataCol.Name = "SmsBody" Then '如果更改的是身份证号码列
    If e.DataRow.IsNull("SmsBody") Then '身份证号码是否为空
        e.DataRow("会议时间") = Nothing '如果为空,则清除出生日期
    Else
     
        Dim str As String = e.DataRow("SmsBody")
        Dim mc As object = System.Text.RegularExpressions.Regex.Matches(str, "\d{4}年\d{1,2}月\d{1,2}日")
        Dim rq As String = mc(0).value
        rq = rq.Replace("年","-").replace("月","-").replace("日","-").Trim("-")
        Dim rq2 As Date
        e.DataRow("会议时间") = rq2
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
zsxx999ja
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:206 积分:2187 威望:0 精华:0 注册:2020/10/3 6:58:00
  发帖心情 Post By:2020/10/29 14:39:00 [只看该作者]

If e.DataCol.Name = "SmsBody" Then '如果更改的是身份证号码列
    If e.DataRow.IsNull("SmsBody") Then '身份证号码是否为空
        e.DataRow("会议时间") = Nothing '如果为空,则清除出生日期
    Else
     
        Dim str As String = e.DataRow("SmsBody")
        Dim mc As object = System.Text.RegularExpressions.Regex.Matches(str, "\d{4}年\d{1,2}月\d{1,2}日")
        Dim rq As String = mc(0).value
        rq = rq.Replace("年","-").replace("月","-").replace("日","-").Trim("-")
        Dim rq2 As Date = cdate(rq)           '将rq转换为日期就正确了,单行测试没有问题,但整列重置就报错了,
        e.DataRow("会议时间") = rq2
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
zsxx999ja
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:206 积分:2187 威望:0 精华:0 注册:2020/10/3 6:58:00
  发帖心情 Post By:2020/10/29 14:40:00 [只看该作者]

错误提示如下:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.29.8
错误所在事件:表,手机短信20201019214642, DataColChanged
详细错误信息:
调用的目标发生了异常。
指定的参数已超出有效值的范围。
参数名: i

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/29 14:47:00 [只看该作者]

说明其中某个日期值不是有效的日期格式

 回到顶部
帅哥哟,离线,有人找我吗?
zsxx999ja
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:206 积分:2187 威望:0 精华:0 注册:2020/10/3 6:58:00
  发帖心情 Post By:2020/10/29 14:54:00 [只看该作者]

如何改?


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/29 15:08:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
zsxx999ja
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:206 积分:2187 威望:0 精华:0 注册:2020/10/3 6:58:00
  发帖心情 Post By:2020/10/29 16:06:00 [只看该作者]

If e.DataCol.Name = "SmsBody" Then '如果更改的是身份证号码列
    If e.DataRow.IsNull("SmsBody") Then '身份证号码是否为空
        e.DataRow("会议时间") = Nothing '如果为空,则清除出生日期
    Else
        
        Dim str As String = e.DataRow("SmsBody")
        Dim part As String = "\d{4}年\d{1,2}月\d{1,2}日"
        Dim mc As object = System.Text.RegularExpressions.Regex.Matches(str, "\d{4}年\d{1,2}月\d{1,2}日")
        
        If mc.IsMatch(part,str) = True  Then             此处加个判断看匹配成功不,用法有错,如下楼请修改
            Dim rq As String = mc(0).value
            rq = rq.Replace("年","-").replace("月","-").replace("日","-").Trim("-")
            Dim rq2 As Date
            If Date.TryParse(rq, rq2) Then '如果转换成功                                                   黄色部分已照帮助修改,但仍报错,错不在此处。
                e.DataRow("会议时间") = rq2   ' Output.Show(d) '输出转换结果
            Else
                e.DataRow("会议时间") = Nothing  'Output.Show("无效日期格式") '给出错误提示
            End If
            
        End If
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
zsxx999ja
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:206 积分:2187 威望:0 精华:0 注册:2020/10/3 6:58:00
  发帖心情 Post By:2020/10/29 16:06:00 [只看该作者]

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.29.8
错误所在事件:表,手机短信20201019214642, DataColChanged
详细错误信息:
调用的目标发生了异常。
未找到类型“MatchCollection”的公共成员“IsMatch”。

 回到顶部
总数 11 1 2 下一页