设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2798|回复: 8
打印 上一主题 下一主题

[模块/函数] 混合字符串快速提取数字方法

[复制链接]
跳转到指定楼层
1#
发表于 2008-11-22 22:47:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前不久与一些朋友探讨了关于从混合字符串中快速提取数字的方法.发个实例与大家共享.



实例样本:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2008-11-22 22:59:52 | 只看该作者
猜一猜江兄用的是
Asc
3#
 楼主| 发表于 2008-11-22 23:03:30 | 只看该作者
哈哈!猜错了吧
4#
 楼主| 发表于 2008-11-22 23:19:46 | 只看该作者
GLW提取方法一:运用了IsNumeric函数方法
  1. Function tractstr(str As String) As String
  2.     Dim i As Integer
  3.     For i = 1 To Len(str)
  4.         If IsNumeric(Mid(str, i, 1)) = True Then
  5.             tractstr = tractstr & Mid(str, i, 1)
  6.         End If
  7.     Next i
  8. End Function
复制代码
提取方法二:VBS表达式方法
  1. Function ReplaceStr(sourStr, patrn, replStr)
  2.     Dim regEx As Object    ' 建立变量
  3.     Set regEx = CreateObject("vbScript.RegExp")    ' 建立正则表达式
  4.     regEx.Pattern = patrn    ' 要找的字符串
  5.     regEx.Global = True    '全程查找(若非全程查找则只进行一次匹配)
  6.     regEx.IgnoreCase = True    ' 设置是否区分大小写
  7.     ReplaceStr = regEx.Replace("" & sourStr & "", "" & replStr & "")    ' 替换
  8. End Function

  9. '函数提取实例
  10. sourceText = "7中国0abc6美国英30国efg日22本韩国3"
  11. MsgBox ReplaceStr(sourceText, "[^0-9]", "")
复制代码
叶海峰Select Case语句方法
  1. Dim i          As Integer
  2. Dim str, str1  As String
  3. str = "7中国0abc6美国英30国efg日22本韩国3"
  4. For i = 1 To Len(str)
  5.     Select Case Mid(str, i, 1)
  6.     Case 0 To 9
  7.         str1 = str1 & Mid(str, i, 1)
  8.     End Select
  9. Next
复制代码

[ 本帖最后由 tanhong 于 2008-11-22 23:21 编辑 ]
5#
发表于 2008-11-22 23:24:11 | 只看该作者
原帖由 tanhong 于 2008-11-22 23:03 发表
哈哈!猜错了吧


IsNumeric这个好,简单。
6#
发表于 2008-11-23 07:59:58 | 只看该作者
正则表达式, 高
7#
发表于 2008-12-12 16:36:43 | 只看该作者
受教
[:50]
8#
发表于 2015-5-18 16:58:47 | 只看该作者
good
回复

使用道具 举报

9#
发表于 2015-7-28 11:19:58 | 只看该作者
不错,看看先
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-12-1 18:04 , Processed in 0.119728 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表