设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3094|回复: 4
打印 上一主题 下一主题

[基础应用] [求助]如何从文本中,分别提取英文字母和其它单字节符号和数字?

[复制链接]
跳转到指定楼层
1#
发表于 2005-11-25 19:31:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
A1:文本(其中有文字,有字母,有数字,有符号)例如:中国zg2008k/300个人.....

请问如何实现:

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

                                                    zg

                                                   2008

                                                     k

                                                     /

                                                  300

                                                   个人

                                                    .....

谢谢



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

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

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2005-11-26 00:52:00 | 只看该作者
用mid()函数提取则可
3#
 楼主| 发表于 2005-11-26 01:08:00 | 只看该作者
因为数据特别多,而且数据的格式并不是象例子一样,所以用MID没有办法的。我的意思是想在不同的字符类型之间进行分割,然后进行提取。
4#
发表于 2005-12-2 22:58:00 | 只看该作者
可以按ASCII码范围来分,不过这样很麻烦的
5#
发表于 2005-12-5 10:59:00 | 只看该作者
我的方法如下:先用一个函数把你的字符按类别分开,在中间加入分隔符,(函数如下:我用“  ”作分隔符,你也可以选择其他的符号)

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

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

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
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-10 01:05 , Processed in 0.089011 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表