Vb.net VB可以';无法使用正确的函数来处理字符串
基本上,我正在尝试做一些字符串操作来编辑目录。 我找到一些代码来尝试编辑目录,但当我使用它时,它不会将“right”识别为函数,而只将其识别为right属性,从而产生错误 我想知道是否有我没有导入的东西,或者“right”是一个在VB6中使用的过时函数,但被替换成了什么 我的守则如下:Vb.net VB可以';无法使用正确的函数来处理字符串,vb.net,visual-studio-2010,vba,Vb.net,Visual Studio 2010,Vba,基本上,我正在尝试做一些字符串操作来编辑目录。 我找到一些代码来尝试编辑目录,但当我使用它时,它不会将“right”识别为函数,而只将其识别为right属性,从而产生错误 我想知道是否有我没有导入的东西,或者“right”是一个在VB6中使用的过时函数,但被替换成了什么 我的守则如下: Dim Foo As String Dim Bar As String Bar = 'some form of directory input i.e. my.computer.currentdirectory
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)
理想情况下,我需要一种更好的操作目录的方法,或者一种让“正确的”功能正常工作的方法
但当我使用它时,它不会将“right”识别为函数,而只将其识别为right属性,从而产生错误
如果您拥有“right”属性,则可以完全限定函数:
Foo = Microsoft.VisualBasic.Right(Bar, (Len(Bar) - InStrRev(Bar, "/")))
有关详细信息,请参阅文档以了解详细信息
请注意,对于目录解析,您可以通过System.IO
名称空间更干净地处理此问题。特别是,您可以构造一个文件夹,并通过属性获取父文件夹
也可以使用来处理字符串。在您的情况下,如果将
Bar
设置为“C:\Some\Path\to\A\File.txt”,并调用Path.GetDirectoryName(Bar)
,它将返回“C:\Some\Path\to\A”。如果你在上面调用它,你会得到“C:\Some\Path\To”等。查找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
没有right属性,因为我使用的是一个自制的类,当时只有子例程,结果证明,虽然我希望right是字符串的函数,因为我认为这比作为标准函数更符合逻辑。不过,感谢您的帮助,建议的两种方法都将对我的工作有所帮助继续。谢谢你提供的信息。我以前在StreamWriter/Reader中使用过IO,但我不认为它会有这样的功能。同样感谢你的回答的一致性,它让事情变得非常清楚,我希望你的代码与许多程序员的意粉相比可能非常可读。