Office中国论坛/Access中国论坛

标题: 字符串中数字相关的几个自定义函数 [打印本页]

作者: netguestcn    时间: 2013-2-6 17:11
标题: 字符串中数字相关的几个自定义函数
本帖最后由 netguestcn 于 2015-4-19 07:15 编辑

Public Function NumberGet(chkStr As String) As String
'从字符串中提取数字
    Dim i As Integer
    For i = 1 To Len(chkStr)
        If Mid(chkStr, i, 1) Like "[0-9]" Then
            NumberGet = NumberGet & Mid(chkStr, i, 1)
        End If
    Next i
    NumberGet = NumberGet
End Function

Public Function IsNumbersOnly(chkStr As String) As Boolean
'检测字符串是否全部由数字组成
   Dim i As Long
   Const AllNumbers = "0123456789"

   IsNumbersOnly = True
   For i = 1 To Len(chkStr)
       If InStr(AllNumbers, Mid(chkStr, i, 1)) = 0 Then
           IsNumbersOnly = False
           Exit Function
       End If
   Next i
End Function

  

Public Function NumberPos(chkStr As String) As Long
'检测字符串中第一个数字的位置
'函数值为0时,表示字符串中不包含数字
   Dim i As Long   
   For i = 1 To Len(chkStr)
       If Mid(chkStr, i, 1) Like "[0-9]" Then
           NumberPos = i
           Exit Function
       End If
   Next i   
End Function


Public Function NoNumbers(chkStr As String) As Boolean
' 检测字符串中是否不含数字
   Dim i As Long

   NoNumbers = True   
   For i = 1 To Len(chkStr)
       If Mid(chkStr, i, 1) Like "[0-9]" Then
           NoNumbers = False
           Exit Function
       End If
   Next i   
End Function


Public Function CutStr(chkStr As String) As String
'截取字符串中第一个数字前的字符
   Dim i As Long  
   For i = 1 To Len(chkStr)
       If Mid(chkStr, i, 1) Like "[0-9]" Then
           CutStr = Left(chkStr, i - 1)
           Exit Function
       End If
   Next i   
   CutStr = chkStr   
End Function
作者: admin    时间: 2013-2-6 17:20
谢谢分享。。
作者: netguestcn    时间: 2013-2-6 18:05
Public Function NumberGet(chkStr As String) As String
'从字符串中提取数字
    Dim i As Integer
    For i = 1 To Len(chkStr)
        If Mid(chkStr, i, 1) Like "[0-9]" Then
            NumberGet = NumberGet & Mid(chkStr, i, 1)
        End If
    Next i
    NumberGet = NumberGet
End Function
作者: tmtony    时间: 2013-2-6 23:33
谢谢分享!
作者: 123shusheng    时间: 2013-2-7 22:08
Public Function NumberGet(chkStr As String) As String
'从字符串中提取数字
    Dim i As Integer
    For i = 1 To Len(chkStr)
        If Mid(chkStr, i, 1) Like "[0-9]" Then
            NumberGet = NumberGet & Mid(chkStr, i, 1)
        End If
    Next i
    NumberGet = NumberGet
End Function


这个模块我很想用,可是我是个菜鸟,能做个例子吗?谢谢!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3