怎樣計算出在字符串中有多個豆號中的最后一個豆號在字符串中的位置???急﹗在線等 ....

chmz 2003-12-27 02:11:27
現小弟有一個問題﹕怎樣計算出在字符串中有多個豆號中的最后一個豆號在字符串中的位置?小弟雖然知道用InStrRev這個函數但不知該怎樣計算出最后一個豆號的位置﹐請各位大大幫忙﹗
...全文
4 点赞 收藏 8
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
chmz 2003-12-27
謝謝各位大大的幫忙﹗現小弟已解決了這個問題﹗thank you!
回复
yoki 2003-12-27
eg:
debug.print InStrRev("abc,de,f,g,h,j", ",")





InStrRev函数


描述

返回一个字符串在另一个字符串中出现的位置,从字符串的末尾算起。

语法

InstrRev(string1, string2[, start[, compare]])
回复
zmcpu 2003-12-27
End Sub
回复
zmcpu 2003-12-27
Dim str As String
Dim IntLen As Integer
IntLen = 1
Do Until InStr(1, str, ",", vbTextCompare) = 0
IntLen = IntLen + 1
str = Mid(str, 2)
Loop
MsgBox "最后一個豆號的位置:" & IntLen - 1
回复
踏平扶桑 2003-12-27
不好意思,我把逗号看成句号了:)
回复
踏平扶桑 2003-12-27
Private Sub Form_Load()
Dim str As String
Dim i, i1 As Integer
str = "sdf....sdafasf..sfd..dsf.sdf..f"
i = 1
Do While (i)
i1 = i
i = InStr(i + 1, str, ".", vbTextCompare)
Loop
MsgBox i1'i1 就是最后一个.的位置了
End Sub
回复
rainstormmaster 2003-12-27
或者:
Private Sub Command2_Click()
Dim s As String
s = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o"
Dim s1 As String
s1 = ","
Dim i As Long
i = Len(s)
Dim arr As Variant
arr = Split(s, s1)
Dim j As Long
j = Len(arr(UBound(arr)))
Debug.Print "最后一个,的位置为" + CStr(i - j)
End Sub
回复
rainstormmaster 2003-12-27
Private Sub Command1_Click()
Dim s As String
s = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o"
Dim s1 As String
s1 = ","
Dim i As Long
i = InStrRev(s, s1)
Debug.Print "最后一个,的位置为" + CStr(i)

End Sub
回复
发动态
发帖子
VB基础类
创建于2007-09-28

7450

社区成员

VB 基础类
申请成为版主
社区公告
暂无公告