应用场景 返回单元格字符中的数值、字母、汉字 知识要点 1:CreateObject('VBSCRIPT.REGEXP')正则表达式:又称规则表达式,计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本 声明自定义函数取值,第一个参数是单元格或者字符串,第二参数用于指定取值的类型,包括-hz\ hz\-zm\ zm\-sz\ sz 6个选项 rng 表示单元格引用,types参数用于控制英文、数字和汉字,如果忽略第二参数,表示取数值 Function 取值(Rng, Optional Types As String = ' sz') As String With CreateObject('VBSCRIPT.REGEXP') '引用正则表达式 .Global = True '全局变量 '指定搜索条件,如是第二参数左边有 “-”,那么取反(即去除指定的对象),否则提取指定的对象 '如果第二参数包括hz,那么计算对象的范围是,代表所有汉字,如果是sz,对象范围0-9代表所有数组,否则计算对象为字母,范围a-zA-Z .Pattern = '[' & IIf(Left(Types, 1) = '-', '', '^') & IIf(Right(Types, 2) = 'hz', '一-隝]', IIf(Right(Types, 2) = 'sz', '0-9]', 'a-zA-Z]')) 取值 = .Replace(Rng, '') '替换掉不需要的字符 End With End Function |
|
来自: L罗乐 > 《字符提取(文本函运用)》