Office中国论坛/Access中国论坛

标题: [求助]如何从文本中,分别提取英文字母和其它单字节符号和数字? [打印本页]

作者: jsyzhui1226    时间: 2005-11-25 19:31
标题: [求助]如何从文本中,分别提取英文字母和其它单字节符号和数字?
A1:文本(其中有文字,有字母,有数字,有符号)例如:中国zg2008k/300个人.....

请问如何实现:

多个单元格,每格的数值分别是    中国  

                                                    zg

                                                   2008

                                                     k

                                                     /

                                                  300

                                                   个人

                                                    .....

谢谢



用函数或程序都可以,请高手指点,谢谢

[此贴子已经被作者于2005-11-25 11:31:44编辑过]


作者: grzhu    时间: 2005-11-26 00:52
用mid()函数提取则可
作者: jsyzhui1226    时间: 2005-11-26 01:08
因为数据特别多,而且数据的格式并不是象例子一样,所以用MID没有办法的。我的意思是想在不同的字符类型之间进行分割,然后进行提取。
作者: myth_sea    时间: 2005-12-2 22:58
可以按ASCII码范围来分,不过这样很麻烦的
作者: 情比金坚    时间: 2005-12-5 10:59
我的方法如下:先用一个函数把你的字符按类别分开,在中间加入分隔符,(函数如下:我用“  ”作分隔符,你也可以选择其他的符号)

然后用复制--选择性粘贴把函数转换为文本

最后再用数据--分列--按符号分列,完成!!

Function ff(s As String)
Dim s1 As String
Dim n As Integer
Dim i As Integer
Dim a1 As Integer
a1 = 0
    's = "中国zg2008k/300个人"
    n = Len(s)
    For i = 1 To n
        s1 = Mid(s, i, 1)
        If InStr("abcdefghijklmnopqrstuvwxyz", s1) > 0 Then
            a2 = 1
            If a2 = a1 Then
                s2 = s2 & s1
            Else
                s2 = s2 & " " & s1
                a1 = 1
            End If
        Else
            If InStr("1234567890", s1) > 0 Then
                a2 = 2
                If a2 = a1 Then
                    s2 = s2 & s1
                Else
                    s2 = s2 & " " & s1
                    a1 = 2
                End If
            Else
                If InStr("+-*\/!<>", s1) > 0 Then
                    a2 = 3
                    If a2 = a1 Then
                        s2 = s2 & s1
                    Else
                        s2 = s2 & " " & s1
                        a1 = 3
                    End If
                Else
                    If a1 = 0 Then
                        s2 = s2 & s1
                    Else
                        s2 = s2 & " " & s1
                        a1 = 0
                    End If
                End If
           End If
        End If
    Next
    ff = s2

End Function




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