VBA编程,如何计算字符串个数,不包括空格
字符是人们识别事物的一个非常重要的标识,计算机中对于字符的处理,有一个很完整的方法。
根据语言不同,字符所表达的意义也不一样。
可以说字符就是一个文明的符号表达,如我们的汉字,对于其它语言来说是一种很古老的文字。
本节将介绍,如何计算一个字符串中的字符数,并且不包含空格。
如下图所示,很方便地计算出字符总和空格的数量。
实现方法:
实际上在编程中,我们使用了系统内部的一些函数,比如vba.len()、vba.Mid()等等。
当然,最重要的是一个vba.Chr()函数,它是字符ASC码函数。
这样说来,VBA编程并不是计算机底层的一些编辑语言,同样也运用了一些已经设计好的函数来实现过程。
代码:
Private Function GetChars()
'计算字符个数
Dim xStr As String
xStr = Range("C3").Value
Dim i As Integer, ix As Integer, x As Integer, s As Integer
ix = VBA.Len(xStr)
For i = 1 To ix
If VBA.Mid(xStr, i, 1) <> VBA.Chr(32) Then
x = x + 1
Else
s = s + 1
End If
Next i
Range("C4").Value = x
Range("C5").Value = s
MsgBox "字符:" & x & VBA.vbCrLf & "空格:" & s
End Sub
如上代码所表达的内容,计算xStr字符变量的字符数量和空格数量。
vba.len取出整个字符长度,vba.Mid()截取每一个字符,然后和vba.Chr(32)进行比较,vba.Chr(32)就表示“空格”,比较结果如果是空格就空格数增1,否则就字符数变量增1。
最终输出结果x和s。
如果对上述函数有所了解,那么对于本示例的理解还是十分容易的。
当然了,也可以扩展一下比较变量,比如"逗号","引号"等其它特殊符号。
所以,要找出这些符号的ASCII码来进行比较就可以,至于字符对的ASCII码可以查询之前的文章里有专门介绍。
欢迎关注、收藏
---END---