String 在VB6中从字符串中删除字符
我有一些字符串(文件路径),有时会在其中随机放置换行符(CRLF),我必须删除它们。我该怎么做呢?String 在VB6中从字符串中删除字符,string,vb6,String,Vb6,我有一些字符串(文件路径),有时会在其中随机放置换行符(CRLF),我必须删除它们。我该怎么做呢?替换$()替换 path = Replace$(path, vbcrlf, "") 这将删除字符串中的所有CRLF strFileName = Replace(strFileName, vbNewLine, "") 以下是一个可以放在助手模块中的函数: Public Function CleanFilePath(FilePath As String) As String Return R
替换$()
替换
path = Replace$(path, vbcrlf, "")
这将删除字符串中的所有CRLF
strFileName = Replace(strFileName, vbNewLine, "")
以下是一个可以放在助手模块中的函数:
Public Function CleanFilePath(FilePath As String) As String
Return Replace(FilePath, vbNewLine, "")
End Function
编辑:
或者,这里有一个辅助程序子例程来修改字符串本身。不过,在较新的语言中,这不是标准做法
Public Sub CleanFilePath(ByRef FilePath As String)
FilePath = Replace(FilePath, vbNewLine, "")
End Sub
看看这个函数
someVariable = Replace(someVariable, vbNewLine, "")
如果我想创建一个helper函数,那么只修复路径而不返回任何内容就更有意义了,或者?你的意思是传递字符串本身
ByRef
并修改它?你可以,但是用新的语言返回值更为标准。同意这是标准做法,但这到底是为什么?传递引用不是比创建新对象更优化吗?似乎没有用美元符号替换美元的函数。@MatsT,$
表示函数返回字符串。更确切地说,在变量和函数上使用$
、&
、%
和#
符号。这也是对一些(但不是replace())字符串函数的优化,我感到困惑,因为文档中提到了单独的函数用于其他函数,如LCase$/LCase和Trim$/Trim,但不是用于replace。为什么它不是一个针对替换的优化?VB6本来是一个过渡产品,但遗憾的是它是同类产品中的最后一个。当VBScript中添加了很多东西(例如Split、Replace)时,其中的一些代码似乎只是在VB6被冲出大门时移植的。这可能就是为什么VB6文档如此多地谈论FSO和RegEx对象,而我们从未在VB.+1中获得本机I/O流,尽管您已经链接到VB.NET2005文档。我冒昧地编辑了您的文章,以链接到VB6文档。