Foxtable(狐表)用户栏目专家坐堂 → 如何用正则表达式将匹配到的不标准日期格式化成标准日期,且在转换后在每个标准日期前插入一个回车符,并替换原来文本?


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

主题:如何用正则表达式将匹配到的不标准日期格式化成标准日期,且在转换后在每个标准日期前插入一个回车符,并替换原来文本?

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


加好友 发短信
等级:小狐 帖子:338 积分:5262 威望:0 精华:0 注册:2019/1/1 15:53:00
  发帖心情 Post By:2021/3/21 21:41:00 [显示全部帖子]


此主题相关图片如下:2021-03-21_213839.png
按此在新窗口浏览图片
以下内容为程序代码:

1 Dim str As String = "2018年5月毕业于西安大学.2018/9就职于东方公司,2020-7-16在东方公司任销售经理,2021/5/28任销......"
2 Dim reg As New System.Text.RegularExpressions.Regex("(^[0-9]{2,4}[-|/|.|年]\d{1,2}[-|/|.|月]\d{0,2}[日]?)")
3 Dim dm As String ="[0-9]{2,4}[年|\/|\-|\.]?\d{1,2}[月|\/|\-|\.]\d{0,2}[日]?[\u4e00-\u9fa5]+[.|,]+"
4 Dim dm1 As String ="[0-9]{2,4}[年|\/|\-|\.]?\d{1,2}[月|\/|\-|\.]\d{0,2}[日]?"
5 Dim mc = System.Text.RegularExpressions.Regex.Matches(str,dm)
6 Dim nr,nr1,nr2 As String
7
8 For i As Integer =0 To mc.count-1
9 nr =mc(i).value
10 Dim mc1 = System.Text.RegularExpressions.regex.match(nr,dm1)
11 nr1=mc1.value
12 nr1=nr1.Replace("年","-").Replace("月","-").Replace("日","").Replace(".","-").Replace("/","-")
13 If not nr1.EndsWith("-") Then
14 nr1=nr1+"-"
15 End If
16 nr2=""
17 For Each s As String In nr1.Split("-")
18 Select Case s.Length
19 Case 4
20 nr2=nr2+format(cint(s),"0000")+"-"
21 Case 1,2
22 nr2=nr2+format(cint(s),"00")+"-"
23 Case 0
24 nr2=nr2+"01"
25 End Select
26
27 Next
28 If nr2.Length>10 Then
29 nr2=nr2.SubString(0,10)
30 End If
31 output.Show(nr2 & "," & nr.Replace(mc1.value,""))
32 Next

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:zhengze.txt


[此贴子已经被作者于2021/3/21 21:42:57编辑过]

 回到顶部