VB中如何从一段话中提取数字?

来源:百度知道 编辑:UC知道 时间:2024/05/17 00:10:32
VB中如何从一段话中提取数字?
例如:text1.text="我爱你1314,你呢?"
如何提取出1314呢?

第二,一个text控件,两个listbox,分别为list1,list2.
list1的数字长度为10,list2的数字长度为6
也就是说如果有段话,里面有16个数字,那么我想前10个放在list1里,后6个放在list2里,假如超过16个,不够32个,那么list1和list2都只显示那一行,其余的不显示。
麻烦帮我解决一下。

VB中如何从一段话的文字中提取数字,需要先对文字中的字进行逐一循环判断,如果是数字,然后返回需要的结果。代码如下:
Private Sub Command1_Click()
Dim a As String
a = "我爱你1314,你呢"
For i = 1 To Len(a)'对文字中每个字循环判断
b = Mid(a, i, 1)
If IsNumeric(b) Then'判断改字是否是数字,用IsNumeric判断是否是数字
s = Val(Mid(a, i))'如果是数字,就提取出来,用到VAL函数
Exit For'提取数字后,退出循环。
End If
Next
MsgBox s 's的值就是1314
End Sub

看看这两个函数.应该能解决你的问题了.

Val 函数

返回包含于字符串内的数字,字符串中是一个适当类型的数值。

语法

Val(string)

必要的 string 参数可以是任何有效的字符串表达式.

说明

Val 函数,在它不能识别为数字的第一个字符上,停止读入字符串。那些被认为是数值的一部分的符号和字符,例如美圆号与逗号,都不能被识别。但是函数可以识别进位制符号 &O(八进制)和 &H(十六进制)。空白、制表符和换行符都从参数中被去掉。

下面的返回值为 1615198:

Val(" 1615 198th Street N.E.")

在下面的代码中,Val 为所示的十六进制数值返回十进制数值 -1。

Val("&HFFFF")

注意 Val 函数只会将句点(.)当成一个可用的小数点分隔符。当使用不同的小数点分隔