Excel实例下载
  VBA  应用教程
    数据库SQL知识
设为首页
利用正则表达式提取或删除汉字
作者:bengdeng | 来源:Excel吧 | 时间:2010-09-28 | 阅读权限:游客 | 会员币:0 | 【

在日常的工作应用中,我们经常与汉字打交道,下面这个自定义函数的功能,就是提取与删除字符串或单元格中汉字的自定义函数:

Function Hanzi(rng, Optional pd As Boolean = True) As String
'*******************************************
'时间:2010-09-28
'功能:提取给定字符串(单元格)中汉字与非汉字集
'说明:rng  原字符串或单元格
'      pd   当为True时,提取汉字(默认),否则提取非汉字。
'发布:http://www.excelba.com
'******************************** ***********
With CreateObject("VBSCRIPT.REGEXP")
    .Global = True
    If pd Then
        .Pattern = "[^\u4e00-\u9fa5]"
    Else
        .Pattern = "[\u4e00-\u9fa5]"
    End If
    Hanzi = .Replace(rng, "")
End With
End Function

应用示例:设A1里的值为 excel吧 - bengdeng 欢迎您!2010年9月28日

在B1设定公式:=Hanzi(A1)
结果为:吧欢迎您年月日

在C1设定公式::=Hanzi(A1,0)
结果为:excel - bengdeng !2010928

除此,也可以利用到其它的程序中,如下面这段程序是去除当前工作表中所有的汉字:

Sub 去除当前工作表中的汉字()
Dim tRan As Range
Application.ScreenUpdating = False
For Each tRan In ActiveSheet.UsedRange
    tRan = Hanzi(tRan, 0)
Next
Application.ScreenUpdating = True
End Sub

文章录入:admin | 浏览次数:
相关评论(以下网友评论只代表其个人观点,不代表Excel吧的观点或立场)
相关信息

关于本站 | 留言本站 | 友情连接 | 后台管理
Copyright © 2005 - 2008 Excel吧 Inc. All Rights Reserved.
HxCms Ver9.0  闽ICP备06001689号
关闭此窗口