在vb6中获取字符串数组的最后一个元素?

在vb6中获取字符串数组的最后一个元素?,vb6,Vb6,如何在visual basic 6中检索字符串数组的最后一个元素 我处理的文件名包含多个点,这些点被分割成一个数组,我只想处理扩展名。下面的代码可以工作,但有一个硬编码元素我想删除 Private Sub Form_Load() Dim aPath() As String Dim FileName As String Dim realExt As String FileName = "A long dotty.file.name.txt" aPath =

如何在visual basic 6中检索字符串数组的最后一个元素

我处理的文件名包含多个点,这些点被分割成一个数组,我只想处理扩展名。下面的代码可以工作,但有一个硬编码元素我想删除

Private Sub Form_Load()
    Dim aPath() As String
    Dim FileName As String
    Dim realExt As String

    FileName = "A long dotty.file.name.txt"
    aPath = Split(FileName, ".")

    realExt = aPath(3) ' <-- how to not hardcode?'

    MsgBox ("The real extension is: " & realExt)
    Unload Me
End Sub
Private子表单_Load()
Dim aPath()作为字符串
将文件名设置为字符串
作为字符串的Dim realExt
FileName=“长dotty.file.name.txt”
aPath=拆分(文件名“.”)

realExt=aPath(3)’我认为使用Ubound应该可以做到:

Private Sub Form_Load()
    Dim aPath() As String
    Dim FileName As String
    Dim realExt As String

    FileName = "A long dotty.file.name.txt"
    aPath = Split(FileName, ".")

    realExt = aPath(UBound(aPath))

    MsgBox ("The real extension is: " & realExt)
    Unload Me
End Sub

但是,如果它真的只是您想要的扩展,那么这将完成以下工作:

Private Sub Form_Load()
    Dim sFileName As String
    Dim lPos As Long
    Dim sRealExt As String

    sFileName = "A long dotty.file.name.txt"
    lPos = InStrRev(sFileName, ".")
    If lPos Then sRealExt = Mid$(sFileName, lPos + 1)
End Sub

为什么不在字符串中查找“.”字符的最后一个索引?
Private Sub Form_Load()
    Dim sFileName As String
    Dim lPos As Long
    Dim sRealExt As String

    sFileName = "A long dotty.file.name.txt"
    lPos = InStrRev(sFileName, ".")
    If lPos Then sRealExt = Mid$(sFileName, lPos + 1)
End Sub