为了对SQL脚本进行分析,需要去除文本内容中的所有注释块和注释行,如
/**********
;aksdjfka/jsdflkjasd*lfk
asdklfj
*/
delete table1
/***
a;sdj*****faksdjflkasjd
adsfkj233jka
*/
delete table2
--;aksdjfklajsdfklj
exec procudure1而我需要的结果只是正文部分,如何做?
/**********
;aksdjfka/jsdflkjasd*lfk
asdklfj
*/
delete table1
/***
a;sdj*****faksdjflkasjd
adsfkj233jka
*/
delete table2
--;aksdjfklajsdfklj
exec procudure1而我需要的结果只是正文部分,如何做?
解决方案 »
- vb中处理事物时发生超时
- 串口通讯,关于如何判定接收到的结束字符
- VB+SQL软件开发
- 使用VB的打包程序``但是打包不了``不知道是错在哪里``求命啊!!!
- 在VC中可以这样做:有很多个函数FunctionOne(...),FunctionOne(...),...,FunctionXX(...),把这些函数的地址存放在一个数组MyFuctionArr
- 如何在COMBOBOX控件的属性为LISTBOX的情况下显示控件的默认值?
- 一个不知道是否荒诞的想法???!
- 求算法:
- 请问B/S的一个问题.
- 在菜单上添加图标,这下看的动吧!
- 求POS机应用的进销存软件,UP有分!
- 在线急等水晶报表,不使用数据库的直接赋值制作报表问题
只想得到干净的文本delete table1delete table2exec procudure1----------------
正确解答的另奉送50分
Private Sub Command1_Click()
Dim i As Long
Dim j As Long
Dim str As String
str = Text1.Text
i = InStr(1, str, "/*")
Do While i > 0
j = InStr(i + 2, str, "*/")
If j > 0 Then
str = Left(str, i - 1) & Mid(str, j + 2)
Else
str = Left(str, i - 1)
End If
i = InStr(1, str, "/*")
Loop
i = InStr(1, str, "--")
Do While i > 0
j = InStr(i + 2, str, vbCrLf)
If j > 0 Then
str = Left(str, i - 1) & Mid(str, j)
Else
str = Left(str, i - 1)
End If
i = InStr(1, str, "--")
Loop
Text2.Text = str
End Sub
Function ReplaceTest(patrn, replStr)
Dim regEx, str1 ' 建立变量。
str1 =“/**********
;aksdjfka/jsdflkjasd*lfk
asdklfj
*/
delete table1
/***
a;sdj*****faksdjflkasjd
adsfkj233jka
*/
delete table2
--;aksdjfklajsdfklj
exec procudure1”
Set regEx = New RegExp ' 建立正则表达式。
regEx.Pattern = patrn ' 设置模式。
regEx.IgnoreCase = True ' 设置是否区分大小写。
ReplaceTest = regEx.Replace(str1, replStr) ' 作替换。
End Function
call ReplaceTest((\r\n)+,"")
得到去掉回车的结果然后:
Function ReplaceTest(patrn, replStr)
Dim regEx, str1 ' 建立变量。
str1 = /**********;aksdjfka/jsdflkjasd*lfkasdklfj*/delete table1/***a;sdj*****faksdjflkasjdadsfkj233jka*/delete table2--;aksdjfklajsdfkljexec procudure1"
Set regEx = New RegExp ' 建立正则表达式。
regEx.Pattern = patrn ' 设置模式。
regEx.IgnoreCase = True ' 设置是否区分大小写。
ReplaceTest = regEx.Replace(str1, replStr) ' 作替换。
End Function
call ReplaceTest((/(\*)+(.)*?(\*)/)|--;(.*)?(?=exec),"")
得到楼主所要的结果