字符串操作中,无非就是文字、符号和数字。
如何在一个字符串中找出数字呢?本节就介绍一下方法。
如下图所示,提取了一些字符串中的数字。
其实际上就是对字符串中的每个字符进行对比操作,然后把数字单独找出来。
原理就是这么简单。
关键是如何实现对数字的判断。
我们做了一些代码来进行判断:
Private Sub CommandButton1_Click()
Dim r As Range
Set r = Range("C3:C10")
Dim i As Integer, ix As Integer
ix = r.Count
Dim x As Integer, xx As Integer
Dim xNumb As String
For i = 1 To ix
xNumb = ""
xx = VBA.Len(r.Item(i))
For x = 1 To xx
If VBA.Asc(VBA.Mid(r.Item(i), x, 1)) >= 48 And VBA.Asc(VBA.Mid(r.Item(i), x, 1)) <= 57 Then
xNumb = xNumb & VBA.Mid(r.Item(i), x, 1)
End If
Next x
r.Item(i).Offset(0, 3).Value = xNumb
Next i
End Sub
如上代码有一行判断的条件语句:
If VBA.Asc(VBA.Mid(r.Item(i), x, 1)) >= 48 And VBA.Asc(VBA.Mid(r.Item(i), x, 1)) <= 57 Then
xNumb = xNumb & VBA.Mid(r.Item(i), x, 1
End If
我们对每个字符进行ASC码判断,48代表0,57代表9,也就是数字0-9的ASC码。
本示例相对简单,并不能十分完善地达到提取要求,如要把每个数字进行一个分割处理。
有兴趣的朋友,可以利用本代码进行加工操作。
每天编一些代码,可以训练逻辑思维,如果不想让自己的脑袋生锈,这也是一件不错的工作。
欢迎关注、收藏
---END---