使用UltraEdit的正则表达式删除含某个关键字的多行?
批处理后生成的文档,是上千“组”信息(一组18行),有一行(不是第一行)包含其部门属性,现有项操作需要剔除某一部门的所有信息,想用UltraEdit的正则表达式删除,也就...
批处理后生成的文档, 是上千“组”信息(一组18行),有一行(不是第一行)包含其部门属性,现有项操作需要剔除某一部门的所有信息,想用UltraEdit的正则表达式删除,也就是说,发现该部门名称,就这18行都删了,如何处理……?
就这样说吧,
打比方第一行是姓名,第二行是性别,第三行是部门……第18行是备注
一个文件里有上千个这样的18行
现在就是只要这个部门A的,这18行就都删了
求方法……
谢谢~~~ 展开
就这样说吧,
打比方第一行是姓名,第二行是性别,第三行是部门……第18行是备注
一个文件里有上千个这样的18行
现在就是只要这个部门A的,这18行就都删了
求方法……
谢谢~~~ 展开
展开全部
用vba给你写,就是excel的宏,你吧文件格式写清楚,或者给我发个具有代表性的文件,几分钟就给你搞定。
pt98@sina.com
'---------------
'vba
'假设部门代码在第三行,而且每个部门占用18行
Sub test()
Dim s As String, i As Long, n As Long, arr
Open "c:\abc.txt" For Input As #1
arr = Split(StrConv(InputB(LOF(1), 1), vbUnicode), vbNewLine)
Close #1
s = InputBox("输入一个要删除的部门名称:", , "sss")
For i = 0 To UBound(arr)
If InStr(arr(i), s) > 0 Then Exit For
Next
If i < UBound(arr) + 1 Then
n = i
Open "c:\outputfile.txt" For Output As #1
For i = 0 To UBound(arr)
If i <= n - 2 Or i >= n + 17 Then
Print #1, arr(i)
End If
Next
Close #1
End If
End Sub
’---------------------------------------
‘已修改成第二行,原来按第三行处理的,试一下
pt98@sina.com
'---------------
'vba
'假设部门代码在第三行,而且每个部门占用18行
Sub test()
Dim s As String, i As Long, n As Long, arr
Open "c:\abc.txt" For Input As #1
arr = Split(StrConv(InputB(LOF(1), 1), vbUnicode), vbNewLine)
Close #1
s = InputBox("输入一个要删除的部门名称:", , "sss")
For i = 0 To UBound(arr)
If InStr(arr(i), s) > 0 Then Exit For
Next
If i < UBound(arr) + 1 Then
n = i
Open "c:\outputfile.txt" For Output As #1
For i = 0 To UBound(arr)
If i <= n - 2 Or i >= n + 17 Then
Print #1, arr(i)
End If
Next
Close #1
End If
End Sub
’---------------------------------------
‘已修改成第二行,原来按第三行处理的,试一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你说的不详细,组和组之间用什么分割?既然你举了例子了,那就按你的例子说吧,应该这样写:姓名[\W\w]*?部门某某某[\W\w]*?备注.+\n 用这个替换就行了。不过ULTRA对中文支持不好,先转成UTF-8在替换
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
都在一个文本文件里吗?
1-18行、19-36行、37-54行..... 这样分组吗?
第三行是部门名称?
1-18行、19-36行、37-54行..... 这样分组吗?
第三行是部门名称?
更多追问追答
追问
在一个文本文件里吗?
2-19行、20-37行、38-55行..... 这样分组
第2行很长,包含部门名称
追答
部门名称在每个组里第一行?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询