String 在Visual Studio 2017(Visual Basic)中删除字符串左侧的所有内容(最多为某个字符)

String 在Visual Studio 2017(Visual Basic)中删除字符串左侧的所有内容(最多为某个字符),string,vb.net,visual-studio-2017,String,Vb.net,Visual Studio 2017,所讨论的字符串是从xml文件获取的文件路径 ..\Folder\Folder\Folder\filename.ext 我的代码从每个xml条目中获取这个文件路径元素,并将其添加到ListView中 我需要做的是删除最后一个“\”左边的所有内容,这样添加到ListView的所有内容都将被删除 filename.ext file path元素的长度永远不会相同,每次的“\”字符数也不会相同,我的意思是它可能是相同的 ..\Folder\Folder\Folder\Folder\biglongfile

所讨论的字符串是从xml文件获取的文件路径

..\Folder\Folder\Folder\filename.ext

我的代码从每个xml条目中获取这个文件路径元素,并将其添加到ListView中

我需要做的是删除最后一个“\”左边的所有内容,这样添加到ListView的所有内容都将被删除

filename.ext

file path元素的长度永远不会相同,每次的“\”字符数也不会相同,我的意思是它可能是相同的

..\Folder\Folder\Folder\Folder\biglongfilename.ext

..\Folder\Folder\filename.ext

我已经搜索并尝试了一些东西,比如字符串操作之类的东西

'Dim pos As Integer
'pos = Rname.IndexOf("\") - 1
'Dim RnameSH As String = Rname.Substring(10, pos)
只有在我指定了所需的字母数量(每次都可能不同)的情况下,这才能正确地给出我的答案

Dim RnameSH As String=“”
作为整数的Dim i
作为整数的Dim pos
对于i=1到200
如果(Microsoft.VisualBasic.Strings.Right(Rname,i))“\”则
i=i+1
ElseIf(Microsoft.VisualBasic.Strings.Right(Rname,i))=“\”然后
pos=i
“接下来我
如果结束
接下来我
RnameSH=Microsoft.VisualBasic.Strings.Right(Rname,pos)
也尝试过老式的方式,但似乎不起作用

我尝试的任何东西都不会提供我需要的filename.ext。这是我第一次尝试真正的编程,我在不同的网站上读过关于字符串操作的文章,但我完全搞不懂这一点


感谢您在这方面提供的帮助或为我指出正确的方向

您是否尝试过
Path.GetFileName()
string.SubString(string.LastIndexOf(“\”)+1)
?或者,使用向后循环手动执行相同的操作(因为字符串是字符的集合)。
string.SubString(string.LastIndexOf(“\”)+1)
这工作非常好:)我没有尝试文件位置,因为我想从xml文件检索所有内容。但上述方法非常有效。感觉像驴子一样。非常感谢Jimi。
dim only thefile as string=Path.GetFileName(someStringThatContainesPath)
返回路径的文件名(实际上,最后一个部分,最后一个分隔符后面是什么;实际上是一样的)。但它会处理分隔符字符。使用
IndexOf(“\”
)对分隔符进行硬编码。如果它可能不同(
“/”
“/”
等),您将错过它。是的,我认为分隔符总是一样的,只是数量不同而已,再次感谢您的帮助。我确实需要文件名资料来检查其他资料,因此感谢您提供的有关该工具的信息。您是否尝试过
Path.GetFileName()
string.SubString(string.LastIndexOf(“\”)+1)
?或者,使用向后循环手动执行相同的操作(因为字符串是字符的集合)。
string.SubString(string.LastIndexOf(“\”)+1)
这工作非常好:)我没有尝试文件位置,因为我想从xml文件检索所有内容。但上述方法非常有效。感觉像驴子一样。非常感谢Jimi。
dim only thefile as string=Path.GetFileName(someStringThatContainesPath)
返回路径的文件名(实际上,最后一个部分,最后一个分隔符后面是什么;实际上是一样的)。但它会处理分隔符字符。使用
IndexOf(“\”
)对分隔符进行硬编码。如果它可能是不同的(
“/”
“/”
等),你会错过它。是的,我认为分隔符总是一样的,只是数量不同而已,再次感谢你的帮助。我确实需要文件名资料来检查其他资料,所以也谢谢你提供的信息
        Dim RnameSH As String = ""
        Dim i As Integer
        Dim pos As Integer

        For i = 1 To 200

            If (Microsoft.VisualBasic.Strings.Right(Rname, i)) <> "\" Then

                i = i + 1

            ElseIf (Microsoft.VisualBasic.Strings.Right(Rname, i)) = "\" Then

                pos = i

                'Next i
            End If
        Next i

        RnameSH = Microsoft.VisualBasic.Strings.Right(Rname, pos)