Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net VB可以';无法使用正确的函数来处理字符串_Vb.net_Visual Studio 2010_Vba - Fatal编程技术网

Vb.net VB可以';无法使用正确的函数来处理字符串

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

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

我想知道是否有我没有导入的东西,或者“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)
理想情况下,我需要一种更好的操作目录的方法,或者一种让“正确的”功能正常工作的方法

但当我使用它时,它不会将“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,但我不认为它会有这样的功能。同样感谢你的回答的一致性,它让事情变得非常清楚,我希望你的代码与许多程序员的意粉相比可能非常可读。