哪位老兄帮我看看这段代码,

yuejun 2003-10-12 09:48:35
'这段代码是VBSCRIPT 的代码, 功能就是将字符串中的"\"字符,替换为"_"
Function PathToFileName(File_path,t_path)
Dim RegEx,sepa1,sepa2,tempstr
tempstr = File_path
sepa1 = "\"
sepa2 = "_"
set RegEx = New RegExp
RegEx.pattern = sepa1
RegEx.IgnoreCase = true
tempstr = RegEx.Replace(tempstr,sepa2) '代码运行到这一行就会出错, 说是"正则表达式语法错误", 我实在看不出来, 跟书上的例子是差不多的.

pathToFileName = tempstr
End function

'这段代码放在VB里面跑时, 就会在 set RegEx = New RegExp 这一行出错."Use defined type not defined"
...全文
37 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xzp1030 2003-10-13
  • 打赏
  • 举报
回复
up
qflash 2003-10-13
  • 打赏
  • 举报
回复
楼主的 Replace(tempstr,sepa2) 是不是用错了。
应该是:Replace(tempstr,,sepa1,sepa2)
yuejun 2003-10-13
  • 打赏
  • 举报
回复
楼上 rainstormmaster(rainstormmaster)大哥, 请问你 re 的 pattern不能是"\" 吗?

我用"\"的话,它就会出这样的问题, 改成字母的话,就能通过,
rainstormmaster 2003-10-13
  • 打赏
  • 举报
回复
RegExp 的 Replace 的使用:


Private Sub Command1_Click()
MsgBox Replacex("this is test", "is", "at")

End Sub

Private Function Replacex(sourceStr As String, oldStr As _
String, newStr As String, Optional ignoreCase As _
Boolean = False, Optional isGlobal As Boolean = True)
Dim re As New RegExp
re.Pattern = oldStr
re.Global = isGlobal
re.ignoreCase = ignoreCase
Replacex = re.Replace(sourceStr, newStr)
Set re = Nothing
End Function

rainstormmaster 2003-10-13
  • 打赏
  • 举报
回复
首先检查在你的工程-引用中是否有对Microsoft VBScript Regular Expressions的引用,如果没有,则加入对它的引用(估计没有)
yuejun 2003-10-12
  • 打赏
  • 举报
回复
参数应该没有传递错误,

我看了VBSCRIPT 的帮助, 上面的例子也是这么写的

我不知道在用 RegExp 的 Replace 时, 是注意些什么东西?
csdncb 2003-10-12
  • 打赏
  • 举报
回复
RegExp 是什么东东?
显然不是一上VB象!当然会"Use defined type not defined" 啦



hansong_ll 2003-10-12
  • 打赏
  • 举报
回复
RegExp这个对象有没有引用,或Createobject ?
佛的光辉 2003-10-12
  • 打赏
  • 举报
回复
是不是你传递的参数不正确
yuejun 2003-10-12
  • 打赏
  • 举报
回复
自己顶上去

7,787

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧