VB无法使用正确的函数来处理字符串

时间:2012-06-20 00:21:34

标签: vb.net visual-studio-2010 vba

基本上,我正在尝试进行一些字符串操作来编辑目录。 我找到了一些代码来尝试编辑目录,但是当我使用它时,它不会将'right'识别为函数,只会将其识别为正确的属性,从而产生错误。

我想知道是否有一些我没有导入的东西,或者“正确”是一个过时的函数,在VB6中使用但被某些东西取代。

我的代码如下:

Dim Foo As String
Dim Bar As String
Bar = 'some form of directory input i.e. my.computer.currentdirectory
Foo = right(Bar, (Len(Bar) - InStrRev(Bar, "/")))
MsgBox(Foo)

理想情况下,我需要一种更好的操作目录的方法或一种让“正确”功能正常工作的方法。

2 个答案:

答案 0 :(得分:5)

  

但是当我使用它时它不会将'right'识别为函数并且只将它识别为正确的属性,从而产生错误。

如果您拥有“正确”属性,则可以完全符合该功能:

Foo = Microsoft.VisualBasic.Right(Bar, (Len(Bar) - InStrRev(Bar, "/")))

有关详情,请参阅Right Function的文档。

请注意,对于目录解析,您可以通过System.IO命名空间更清晰地处理此问题。特别是,您可以构造DirectoryInfo并通过Parent属性获取父文件夹。

您还可以使用Path.GetDirectoryName来处理字符串。在您的情况下,如果您将Bar设置为“C:\ Some \ Path \ To \ A \ File.txt”并调用Path.GetDirectoryName(Bar),则会返回“C:\ Some \ Path \”成\”。如果你打电话给它,你会得到“”C:\ Some \ Path \ To“等等。

答案 1 :(得分:4)

查找System.IO.Path - 这个东西有很多有用的工具。你会特别想要GetDirectoryName和GetFileName。它们处理目录和文件名。

Bar = "C:\Dir1\Dir2\Dir3"
Foo = IO.Path.GetFileName(Bar)  'now = Dir3
Foo = IO.Path.GetDirectoryName(Bar)  'now = C:\Dir1\Dir2

http://msdn.microsoft.com/en-us/library/system.io.path.getfilename
http://msdn.microsoft.com/en-us/library/system.io.path.getdirectoryname