问题描述
- vb6如何按照特定字符串拆分word文档
- 比如有文档如下:
1.奥巴马不是马
2.奥巴马是人
3.奥巴马是人不是马以此类推......在vb6中如何实现对模糊匹配序号,并依据序号将文档内容拆分,分别保存?
解决方案
可以用Split或者正则表达式。
解决方案二:
先弄清楚文档中可能有一些什么符号,这样才能对症下药.....
解决方案三:
能提供源码范例么?符号就是数字序号加圆点。期待高手。
解决方案四:
能提供源码范例么?符号就是数字序号加圆点。期待高手。
解决方案五:
google VB正则表达式 代码
使用 d.w+ 去匹配。
解决方案六:
对了,内容中还可能含有图片、表格等。
解决方案七:
来一段简单的代码:正则和反向查找法,你自己参考着修改修改:
Sub test()
Dim w1 As String
w1 = ""we.r186.er5.re5.r""
Debug.Print RegFindFH(w1)
Debug.Print RevFindFH(w1)
End Sub
Function RevFindFH(ByVal bStr As String) As String
''反向查找
Dim i As Long k As Long w1 As String w2 As String
k = Len(bStr)
Do
i = InStrRev(bStr."" k vbTextCompare)
If i = 0 Then Exit Do
k = i
Do
w2 = Mid$(bStr k - 1 1)
If InStr(10123456789"" w2 vbTextCompare) = 0 Then Exit Do
k = k - 1
Loop
w2 = Mid$(bStr k i - k + 1)
If w2 <> ""."" Then
'''此时可以在k前面插入换行符等操作
w1 = w2 & IIf(w1 <> """"|""") & w1
Else
k = k - 1
End If
Loop
RevFindFH = w1
End Function
Function RegFindFH(ByVal bStr As String) As String
''正则匹配
Dim Reg As New RegExp Match Matchs
Dim w1 As String
With Reg
.Pattern = ""[0-9]{1}.""
.IgnoreCase = True
.Global = True
Set Matchs = .Execute(bStr)
For Each Match In Matchs
w1 = w1 & IIf(w1 <> """"|""") & Match.Value
Next
RegFindFH = w1
End With
End Function
解决方案八:
wordArange.Find.Execute(""Rich"" MatchCase wdFindContinue ReplaceString True) '查找并替换
这是一句判断在 word 中查找并替换的代码。请问字符串“Rich”用正则表达式换成序号(如1.)怎样表示?只查找不替换怎么改?