一个目录下有很多各txt文本文档,想批量解决。文档格式如下:
AD 广州
DR
张小品,广州市市政基础设施配置,羊城晚报,1994,(2) 41-42
王云林,广州经济开发区建设刍议以及策略,南方都市报,2005,16(1) 35-36
陈昌杰,浅谈珠三角一体化进程,广州日报,2009,17(6) 416-417
金鹏,广佛一体化利弊谈,特区之窗,2008,13(2) 89-94
ED 1
AB 9AD 上海
DR
李少华,杭州市市政基础设施配置,钱江晚报,1998,(1) 441-785
朱云,杭州高新开发区发展策略丰富的是的是否是大法师的发是的范德萨丰富的方法分丰富丰富风分丰富丰富各顾各,杭州日报,2005,16(1) 35-36
孔深,长江三角洲一体化发展,新民日报,2009,136(6) 416-417
向华胜,长三角低于发展协同论,上海商务,2008,13(1040) 89-94
ED 6
AB 5.......文档中还有其他的内容。
关于文档的附加说明:DR与ED之间的这段内容中,有的行文字较长,可能会换行,比如这一行:“朱云,杭州高新开发区发展策略丰富的是的是否是大法师的发是的范德萨丰富的方法分丰富丰富风分丰富丰富各顾各,杭州日报,2005,16(1) 35-36”我的需求:
标记DR后、标记ED前的这一部分内容中,我个人猜想的规则是:先删除第4个逗号以及它后面的内容,然后将第3个逗号以及它后面的内容,放到第1个逗号前面。想实现的效果如下:AD 广州
DR
张小品,1994,广州市市政基础设施配置,羊城晚报
王云林,2005,广州经济开发区建设刍议以及策略,南方都市报
陈昌杰,2009,浅谈珠三角一体化进程,广州日报
金鹏,2008,广佛一体化利弊谈,特区之窗
ED 1
AB 9AD 上海
DR
李少华,1998,杭州市市政基础设施配置,钱江晚报
朱云,2005,杭州高新开发区发展策略丰富的是的是否是大法师的发是的范德萨丰富的方法分丰富丰富风分丰富丰富各顾各,杭州日报
孔深,2009,长江三角洲一体化发展,新民日报
向华胜,2008,长三角低于发展协同论,上海商务
ED 6
AB 5
麻烦各位大大们帮忙看看,多谢!!
AD 广州
DR
张小品,广州市市政基础设施配置,羊城晚报,1994,(2) 41-42
王云林,广州经济开发区建设刍议以及策略,南方都市报,2005,16(1) 35-36
陈昌杰,浅谈珠三角一体化进程,广州日报,2009,17(6) 416-417
金鹏,广佛一体化利弊谈,特区之窗,2008,13(2) 89-94
ED 1
AB 9AD 上海
DR
李少华,杭州市市政基础设施配置,钱江晚报,1998,(1) 441-785
朱云,杭州高新开发区发展策略丰富的是的是否是大法师的发是的范德萨丰富的方法分丰富丰富风分丰富丰富各顾各,杭州日报,2005,16(1) 35-36
孔深,长江三角洲一体化发展,新民日报,2009,136(6) 416-417
向华胜,长三角低于发展协同论,上海商务,2008,13(1040) 89-94
ED 6
AB 5.......文档中还有其他的内容。
关于文档的附加说明:DR与ED之间的这段内容中,有的行文字较长,可能会换行,比如这一行:“朱云,杭州高新开发区发展策略丰富的是的是否是大法师的发是的范德萨丰富的方法分丰富丰富风分丰富丰富各顾各,杭州日报,2005,16(1) 35-36”我的需求:
标记DR后、标记ED前的这一部分内容中,我个人猜想的规则是:先删除第4个逗号以及它后面的内容,然后将第3个逗号以及它后面的内容,放到第1个逗号前面。想实现的效果如下:AD 广州
DR
张小品,1994,广州市市政基础设施配置,羊城晚报
王云林,2005,广州经济开发区建设刍议以及策略,南方都市报
陈昌杰,2009,浅谈珠三角一体化进程,广州日报
金鹏,2008,广佛一体化利弊谈,特区之窗
ED 1
AB 9AD 上海
DR
李少华,1998,杭州市市政基础设施配置,钱江晚报
朱云,2005,杭州高新开发区发展策略丰富的是的是否是大法师的发是的范德萨丰富的方法分丰富丰富风分丰富丰富各顾各,杭州日报
孔深,2009,长江三角洲一体化发展,新民日报
向华胜,2008,长三角低于发展协同论,上海商务
ED 6
AB 5
麻烦各位大大们帮忙看看,多谢!!
Dim oJs As Object, Str$ Open App.Path & "\Test.txt" For Input As #1
Str = Replace(StrConv(InputB(LOF(1), 1), vbUnicode), vbCrLf, "↑"): Reset Set oJs = CreateObject("ScriptControl"): oJs.Language = "JScript"
oJs.eval "function getnewstr(str){return str.replace(/(\s+[一-龥]+)([\,一-龥]+)(\d{4})([\,\(\)\s\-\d]+)/g,'$1,$3$2')" _
& ".replace(/\,↑/g,'↑')}" Str = Replace(oJs.codeobject.getnewstr(Str), "↑", vbCrLf)
Open App.Path & "\Test02.txt" For Output As #1
Print #1, Str: Reset
End Sub
Private Sub Command1_Click()
Dim f As String, i As Long, tmp1 As String
Dim tmp2 As String, tmp3() As String
Dim flg As Boolean, tmp4() As String
f = Dir("c:\11\*.txt")
While f <> ""
Open "c:\11\" & f For Binary As #1
Open "c:\22\" & f For Output As #2
tmp1 = StrConv(InputB(LOF(1), 1), vbUnicode)
tmp3 = Split(tmp1, vbNewLine)
For i = 0 To UBound(tmp3)
If Trim(tmp3(i)) = "DR" Then
flg = True
tmp2 = tmp2 + tmp3(i) & vbNewLine
i = i + 1
ElseIf Left(Trim(tmp3(i)), 3) = "ED " Then
flg = False
End If
If flg Then
tmp4 = Split(tmp3(i), ",")
tmp2 = tmp2 & tmp4(0) & "," & tmp4(3) & "," & tmp4(1) & "," & tmp4(2) & vbNewLine
Else
tmp2 = tmp2 & tmp3(i) & vbNewLine
End If
Next
Print #2, tmp2
tmp2 = ""
Close
f = Dir
Wend
MsgBox "finish"
End Sub
同时LS的也很好。总之,实在是太感谢了!!!!!!
结贴
5555,大佬。再帮我一次吧这几天在新增加的内容中,发现文本格式变多了,全部总结如下(绝对完整,不会再麻烦您了。。):AD 广州
DR
张志强,西部大开发战略进程,西北日报,2009,17(6) 416-417
朱晓婉,谈企业2.0的内涵与外延,北京:中国科学技术出版社,1999,(2) 41-42
李曙光,Microsoft中国发展策略,南方都市报,2005,11(20) 35-36
刘华兰,2010年A股swot分析,中国证券报,2008,16(1) 35-36
William Shakespeare H,2000 AD Graphic Novels website where Squaxx dex,Borag Thungg,2008,13(2) 89-94
Alahakoon D,Dynamic self organizing maps with controlled growth for knowledge discovery,Special Issue on Knowledge Discovery and Data Mining,2000,11(3),601-614
ED 1
AB 9除了全汉字外,字符串中还多出了大小写字母、数字。这里“.replace(/(\s+[一-龥]+)([\,一-龥]+)(\d{4})([\,\(\)\s\-\d]+)/g,'$1,$3$2')" _
& ".replace(/\,↑/g,'↑')}"
”这里改不好。匹配不到。。
大大,能不能再帮我看一下啊。。