Office中国论坛/Access中国论坛

标题: 求助:字符计数 [打印本页]

作者: fcghw    时间: 2009-11-20 23:09
标题: 求助:字符计数
在一文本框中有字符串"aabccddd"如何才能得到这样的结果:2a1b2c3d
作者: tz-chf    时间: 2009-11-20 23:53
本帖最后由 tz-chf 于 2009-11-20 23:54 编辑

挨个去比啊,一样的加1,不一样的重新计数。
作者: ACMAIN_CHM    时间: 2009-11-21 21:04
放一个数组
dim a[26] = 0;
然后逐一检查字符串的的每个字符c, a[c] = a[c] +1 即可




******************
*  一切皆有可能  *
******************

.
ACMAIN - Access论坛回贴准则(个人).
.


作者: fcghw    时间: 2009-11-22 10:05
ACMAIN_CHM , 能给个完整的代码吗?我还是一头雾水
作者: t小宝    时间: 2009-11-22 10:42
做个函数,试试

Function GetText(stmp As String) As String
    Dim i As Integer, j As Integer, s1 As String
   
   
    For i = 1 To Len(stmp)
   
   
        If s1 = Mid(stmp, i, 1) Then
   
            j = j + 1
   
        Else
            If s1 <> "" Then GetText = GetText & j & s1
        
            j = 1
   
            s1 = Mid(stmp, i, 1)
   
        End If
   
    Next
End Function
作者: fcghw    时间: 2009-11-22 12:23
5# t小宝
不行啊,
t小宝你再帮我改改啊 谢谢
作者: fcghw    时间: 2009-11-22 12:34
最后如果是一个字符就没法计数了
作者: fcghw    时间: 2009-11-22 12:40
完美解决了,代码改成:
Function GetText(stmp As String) As String
    Dim i As Integer, j As Integer, s1 As String
   
   
    For i = 1 To (Len(stmp)+1)
   
   
        If s1 = Mid(stmp, i, 1) Then
   
            j = j + 1
   
        Else
            If s1 <> "" Then GetText = GetText & j & s1
        
            j = 1
   
            s1 = Mid(stmp, i, 1)
   
        End If
   
    Next
End Function




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3