Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

如何查找字符串中的第一个数字字符

Peterzeng  发表于:2010-07-14 20:26:42  
复制

请问各位老师:

 

1.如何查找字符串中的第一个数字字符

 

 例如:从“asfgegde12ge”中查找第一个数字字符并获得位置,且此数字字符为未知的。

2.用instr()查找是从左到右的顺序查找的,是否可以从右到左查找。

 

Top
煮江品茶 发表于:2010-07-14 20:39:34

Function V(str As String) As Variant
Dim s As String
Dim i As Long
Dim A(0, 0 To 1)
For i = 1 To Len(str)
    s = Mid(str, i, 1)
    If IsNumeric(s) = True Then
        A(0, 0) = i
        A(0, 1) = s
    End If
Next
V = A
End Function

 

如果要从右向左查,可以将循环语句改一下起始值为len(str)、截止值为1、步长为-1。



煮江品茶 发表于:2010-07-15 06:39:56

 

判断语句中要加一条Exit for,以便在第一次条件为真时结束循环。

If IsNumeric(s) = True Then
        A(0, 0) = i
        A(0, 1) = s

        exit for
End If



Peterzeng 发表于:2010-07-15 21:20:21
老先生写的是一个自定义涵数,我想问ACCESS的系统中是否有自带的。我知道的是instr()可以查找文字,但不知如何查找文字中的一个数字。

煮江品茶 发表于:2010-07-16 06:27:12

用instr的话,要套用10个iif,岂不更麻烦吗?呵呵

 



Peterzeng 发表于:2010-07-18 20:43:42

那是最不想用的办法,我想问简单的方法呀。用10个IIF是可以完成的。太麻繁。

 



Peterzeng 发表于:2010-07-18 20:46:05
我想问有没有一个语句能代表数字字符的。再用INSTR(),不就方便了吗?

总记录:6篇  页次:1/1 9 1 :