String 在Visual Studio 2017(Visual Basic)中删除字符串左侧的所有内容(最多为某个字符)
所讨论的字符串是从xml文件获取的文件路径 ..\Folder\Folder\Folder\filename.ext 我的代码从每个xml条目中获取这个文件路径元素,并将其添加到ListView中 我需要做的是删除最后一个“\”左边的所有内容,这样添加到ListView的所有内容都将被删除 filename.ext file path元素的长度永远不会相同,每次的“\”字符数也不会相同,我的意思是它可能是相同的 ..\Folder\Folder\Folder\Folder\biglongfilename.ext ..\Folder\Folder\filename.ext 我已经搜索并尝试了一些东西,比如字符串操作之类的东西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
'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)