EXCEL正则表达式

边青安1539
如何取该列中的汉字

Public Function 汉字(arr As String)
Dim reg As Object
Set reg = CreateObject("vbscript.regexp")
With reg
.Pattern = "[^(\u4e00-\u9fa5)]"
.Global = True
汉字 = .Replace(arr, "")
End With
End Function
这个会提取出一个字符串中的所有汉字,例如”我1weq*2we3w爱34es你“,提取出来就为”我爱你“。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-16
如果你文本中的格式是固定汉字在前。数字在后可以用下面这条
=SUBSTITUTE(A1,LOOKUP(9E+307,--MID(A1,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&1234567890)),ROW(INDIRECT("1:"&LEN(A1))))),"")

A1格是要修改的内容本回答被网友采纳
第2个回答  2014-08-16
假设数据在A1,在B1输入公式:
=LEFT(A1,LENB(A1)-LEN(A1))追问

可是每一行数据不一样:
边帅924

边银虎1992

边智文1993

陈生荣1686

杜志壮77

追答

都适用,你测试下。

本回答被提问者采纳
第3个回答  2014-08-16

=--RIGHT(C1,LEN(C1)*2-LENB(C1))

追问

这个看起来有点对

追答

看错了,我以为你是取数字。

追问

你的也对

第4个回答  2014-08-16
excel函数中不支持正则(但是VBA中支持),你的要求可以用这个公式,假定数据在A列从A1开始,在B1可以填入
=LEFT(A1,MATCH(1,1/(MID(A1,ROW($1:$100),1)>="啊"),)-1)
这是数组公式,按Ctrl+Shift+Enter结束追问

我用的是WPS

相似回答