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

20

如何在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

1
为什么不直接在字符串中找到最后一个'.'字符的索引? - Ed S.
3个回答

42

我认为使用 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

4
realExt = aPath(ubound(aPath))

0
然而,如果你真的只是想要扩展名,这样就可以了:
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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接