VB 从右边截取字符串
有一个变量fullname里面有一条条的数据大概为.200905/2009/mjch[2009]59fj.zip.200905/2009/2009021101.rar.2...
有一个变量fullname 里面有一条条的数据 大概为 .200905/2009/mjch[2009]59fj.zip .200905/2009/2009021101.rar .200905/2008/mjdw200820fj.doc 从右边起 截取到第一个/ 也就是说要输出结果应该是 mjch[2009]59fj.zip 2009021101.rar mjdw200820fj.doc 各位大大~~~ 帮帮忙啊~~~
展开
6个回答
展开全部
InStr 函数,返回指定字符在字符串中出现的第一个位置
InStrL 函数,返回指定字符在字符串中出现的最后一个位置,注:该函数自己写的,具体如下:
'取得指定字符串在原字符串中的最后的位置
Public Function InStrL(inString As String, srchString As String) As Integer
Dim iLastPos As Integer
If Len(srchString) Then
Dim iCurPos As Integer
Do
iLastPos = iCurPos
iCurPos = InStr(iCurPos + 1, inString, srchString, vbTextCompare)
Loop Until iCurPos = 0
End If
InStrL = iLastPos
End Function
然后使用Mid函数
比如wwwwwwwrrrfffffffffffffffffffeee 要截取fffffffffffffffffff
StrTest="wwwwwwwrrrfffffffffffffffffffeee"
Mid(StrTest,InStr(StrTest,"f"),InStrL(StrTest,"f")-InStr(StrTest,"f")+1)
这样就可以得到你要的字符了
InStrL 函数,返回指定字符在字符串中出现的最后一个位置,注:该函数自己写的,具体如下:
'取得指定字符串在原字符串中的最后的位置
Public Function InStrL(inString As String, srchString As String) As Integer
Dim iLastPos As Integer
If Len(srchString) Then
Dim iCurPos As Integer
Do
iLastPos = iCurPos
iCurPos = InStr(iCurPos + 1, inString, srchString, vbTextCompare)
Loop Until iCurPos = 0
End If
InStrL = iLastPos
End Function
然后使用Mid函数
比如wwwwwwwrrrfffffffffffffffffffeee 要截取fffffffffffffffffff
StrTest="wwwwwwwrrrfffffffffffffffffffeee"
Mid(StrTest,InStr(StrTest,"f"),InStrL(StrTest,"f")-InStr(StrTest,"f")+1)
这样就可以得到你要的字符了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Dim str, index As String str = ".200905/2009/1232131231mjch[2009]59fj.zip" index = InStrRev(str, "/") + 1 MsgBox Mid(str, index) 注: 返回某字符串在另一个字符串中出现的从结尾计起的位置。 InStrRev(string1, string2[, start[, compare]]) 参数 string1 必选项。接受搜索的字符串表达式。 string2 必选项。被搜索的字符串表达式。 Start 可选项。数值表达式,用于设置每次搜索的开始位置。如果省略,则默认值为 -1,表示从最后一个字符的位置开始搜索。如果 start 包含 Null,则出现错误 compare 可选项。在计算子字符串时,指示要使用的比较类型的数值。如果省略,将执行二进制比较。有关数值,请参阅“设置”部分。
满意请采纳
满意请采纳
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Private Sub Command1_Click()
'如果是数字有很多种方法可以实现
a = "88888888.999"
b = Left(a, InStr(a, ".") - 1) '第一种方法
c = Split(a, ".")(0) '第二种方法
d = CStr(Int(a)) '第三种方法
Print b
Print c
Print d
'你说的如果是字符串
a = "wwwwwwwrrr"
b = "fffffffffffffffffffeee"
a1 = Left(a, 1)
b1 = Left(b, 1)
c = ""
d = ""
For i = 1 To Len(a)
If Mid(a, i, 1) = a1 Then
c = c & Mid(a, i, 1)
Else
Exit For
End If
Next
For i = 1 To Len(b)
If Mid(b, i, 1) = b1 Then
d = d & Mid(b, i, 1)
Else
Exit For
End If
Next
Print c, d
End Sub
'如果是数字有很多种方法可以实现
a = "88888888.999"
b = Left(a, InStr(a, ".") - 1) '第一种方法
c = Split(a, ".")(0) '第二种方法
d = CStr(Int(a)) '第三种方法
Print b
Print c
Print d
'你说的如果是字符串
a = "wwwwwwwrrr"
b = "fffffffffffffffffffeee"
a1 = Left(a, 1)
b1 = Left(b, 1)
c = ""
d = ""
For i = 1 To Len(a)
If Mid(a, i, 1) = a1 Then
c = c & Mid(a, i, 1)
Else
Exit For
End If
Next
For i = 1 To Len(b)
If Mid(b, i, 1) = b1 Then
d = d & Mid(b, i, 1)
Else
Exit For
End If
Next
Print c, d
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Function 取整(byval 数字) as Integer
取整=cstr(fix(val(数字)))
End Function
dim a,b
a=取整(88888888.999)
b=取整(7777777777777.666)
fix介绍:
1.vb
返回一个数的整数部分
Return the integer portion of a number.
2.c++
ByVal Number As { Double | Integer | Long | Object | Short | Single | Decimal }) _
As { Double | Integer | Long | Object | Short | Single | Decimal }
Public Shared Function Fix( _
ByVal Number As { Double | Integer | Long | Object | Short | Single | Decimal }) _
As { Double | Integer | Long | Object | Short | Single | Decimal }
取整=cstr(fix(val(数字)))
End Function
dim a,b
a=取整(88888888.999)
b=取整(7777777777777.666)
fix介绍:
1.vb
返回一个数的整数部分
Return the integer portion of a number.
2.c++
ByVal Number As { Double | Integer | Long | Object | Short | Single | Decimal }) _
As { Double | Integer | Long | Object | Short | Single | Decimal }
Public Shared Function Fix( _
ByVal Number As { Double | Integer | Long | Object | Short | Single | Decimal }) _
As { Double | Integer | Long | Object | Short | Single | Decimal }
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询