VB问题--读取字符串中特定位置

VB问题--读取字符串中特定位置,第1张

非常简单给你代码 跟我刚才写的稍做了下修改可以显示所有"/"后面的数字,你参考一下吧,

Dim n1() As String, n2 As String, st1 As String

st1 = "/25/12/98/20/36/58/65"

n1 = Split(st1, "/")

n2 = n1(5) '//将第5个"/"后面的数存到n2中

Print "共有 " & UBound(n1) & " 个""/"" 第5个""/""后面的数是 " & n2

For i = 1 To UBound(n1)

Print "第" & i & "个""/""后面的数是 " & n1(i)

Next i

可使用Split函数来实现截取路径最后一个"a"后的字符。

Split函数,返回一个下标从零开始的一维数组,它包含指定数目的子字符串

具体代码如下:

Private Sub Form_Click()

Dim ljStr As String

ljStr = "C:\Program Files\Microsoft Visual Studio\VB98\ado"

DebugPrint Split(ljStr, "\")(UBound(Split(ljStr, "\")))

End Sub

str="123456"

Mid(str,

4,

2)

这样才是截取45这部分

相当一进从第4位开始,取2个字

如果是从第4位开始,

取5位,就会因为取不到足够的数,VB默认就是取整个字符串了

注意函数 FindStrN

Option Explicit

Private Sub Command1_Click()

    Dim s As String

    s = "abs01b902h9dso0h2e70de210j0q"

    

    Dim x As Integer

    

    '第1个"0"的位置

    x = FindStrN(s, "0", 1)

    Print x

    

    '第2个"0"的位置

    x = FindStrN(s, "0", 2)

    Print x

    

    '第3个"0"的位置

    x = FindStrN(s, "0", 3)

    Print x

    

    '第4个"0"的位置

    x = FindStrN(s, "0", 4)

    Print x

    '第5个"0"的位置    

    x = FindStrN(s, "0", 5)

    Print x

    '第6个"0"的位置    

    x = FindStrN(s, "0", 6)

    Print x

    

    '第7个"0"的位置,不存在,返回-1 

    x = FindStrN(s, "0", 7)

    Print x

End Sub

'查找 src 中第n个c出现的位置

'如果没找对,返回-1

Function FindStrN(ByVal src As String, _

    ByVal c As String, _

    ByVal n As Integer) As Integer

    

    Dim i As Integer, m As Integer

    i = InStr(1, src, c)

    m = 0

    Do While i > 0

        m = m + 1

        If m = n Then Exit Do

        i = InStr(i + 1, src, c)

    Loop

    

    If i > 0 And m = n Then

        FindStrN = i

    Else

        FindStrN = -1

    End If

End Function

使用InStr 函数,返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。

InStr 函数示例

本示例使用 InStr 函数来查找某字符串在另一个字符串中首次出现的位置。

Dim SearchString, SearchChar, MyPos

SearchString ="XXpXXpXXPXXP"   ' 被搜索的字符串。

SearchChar = "P"   ' 要查找字符串 "P"。

' 从第四个字符开始,以文本比较的方式找起。返回值为 6(小写 p)。

' 小写 p 和大写 P 在文本比较下是一样的。

MyPos = Instr(4, SearchString, SearchChar, 1)  

' 从第一个字符开使,以二进制比较的方式找起。返回值为 9(大写 P)。

' 小写 p 和大写 P 在二进制比较下是不一样的。

MyPos = Instr(1, SearchString, SearchChar, 0)

' 缺省的比对方式为二进制比较(最后一个参数可省略)。

MyPos = Instr(SearchString, SearchChar)   ' 返回 9。

MyPos = Instr(1, SearchString, "W")   ' 返回 0。

使用Mid 函数,

返回 Variant

(String),其中包含字符串中指定数量的字符。

Mid 函数示例

本示例使用 Mid 语句来得到某个字符串中的几个字符。

Dim MyString, FirstWord, LastWord, MidWords

MyString = "Mid Function Demo"   建立一个字符串。

FirstWord = Mid(MyString, 1, 3)   ' 返回 "Mid"。

LastWord = Mid(MyString, 14, 4)   ' 返回 "Demo"。

MidWords = Mid(MyString, 5)   ' 返回 "Funcion Demo"。

结合两个函数使用,先获取某个字符在字符串位置,再用Mid函数获取该字符之后的所有字符,见上行例句。

以上就是关于VB问题--读取字符串中特定位置全部的内容,包括:VB问题--读取字符串中特定位置、vb 获取最后一个"a"字符所在位置、VB截取字符串中的字符等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9663832.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存