首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从带有函数或正则表达式的单元格中删除所有数字?

如何从带有函数或正则表达式的单元格中删除所有数字?
EN

Stack Overflow用户
提问于 2010-08-26 22:58:09
回答 3查看 57.2K关注 0票数 4

我有这样的细胞,每一行一个:

达菲,约翰:“遗产:文明与犹太人”-大张旗鼓&合唱团,交响乐舞蹈+管弦乐套房。伯恩斯坦,“小镇上”的舞蹈集。皇家菲尔/威廉斯

Lilien,Ignace 1897-1963:歌,1920-1935年.Anja van Wijk,mezzo & Frans van Ruth,钢琴

亨密斯,特劳尔穆西克。珀塞尔,“仙女皇后”套房。罗西尼,弦乐奏鸣曲6。彼得罗夫,“创造世界”芭蕾舞团套房。巴托克,罗马尼亚民间舞蹈Sz 56。塔尔蒂尼,G w.A.Maiorov Leningrad Orch.for的长笛协奏曲&现代音乐/塞洛夫

Bizet,Verdi,Massenet,Puccini: Arias来自Carmen,Rigoletto,Werther,Manon Lescaut,Tosca,Turandot + Lara,Di Capua等人的歌曲。彼得·德沃斯基( Peter ),男高音w.Bratislava Orch./Lenard也表演了“Carmen”公开和“Thais”冥想。记录,实况,10/87

Fantini,Rauch,C.Straus,Priuli,Bertali:“维也纳帝国宫廷的节日弥撒”,1648年,约克郡巴赫合唱团和巴洛克索洛派+伦敦/西摩的巴洛克·布拉斯

Vinci,Leonardo1690-1730: Arias来自塞米维安Riconosciuta,Didone Abbandonata,La Caduta dei Decemviri,Lo Cecato Fauzo,La Festa de B科,Catone in Utica。玛丽亚·彼得·索普。w.M.Carraro导电

格拉、莫扎特、贝多芬、韦伯、威尔第、瓦格纳、庞奇利、马斯卡尼、普契尼:阿里亚斯来自阿尔切斯特、唐·乔瓦尼、菲迪里奥、奥贝隆、巴洛、特里斯坦、瓦尔基尔、西格弗里德、戈特丹梅隆、焦康达、卡瓦莱里亚、托斯卡。Helene Wildbrunn.Rec.1919-24

我想删除所有的数字。我怎么用公式做这件事?或者只是搜索然后用regex替换?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-26 23:07:38

怎么用VBA..。

  1. 打开Excel工作簿并粘贴您提供的文本:

让这些行selected.

  • Press“ALT+F11”打开Visual编辑器。

  • 转到“插入”菜单并打开模块。在此函数中输入

  • 类型:

()s= Array("0“、"1”、"2“、"3”、"4“、"5”、"6“、"7”、"8“、"9")用于选择v= r.Value For i=0至9v=替换(v,s(i),"")下一个r.Value =v下一个子

  1. 单击“绿色播放”按钮来执行VBA脚本。

  1. 回到工作表并查看结果(不再有数字):

票数 11
EN

Stack Overflow用户

发布于 2017-02-15 16:43:59

我面临着一个类似的问题,但我采取了另一种方式,希望避免使用vba。对我来说,递归地使用替代的方法是可行的,如下所示:

原始数据( A1:An,n=integer) ROE-1.00P/E 0.07-0.85 ROC-ROE 0.02 -0.03等。

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"1“、"")、"0”、"")、"2“、"")、"3”、"")、"4“、"")、"5”、"")、"6“、"")、"7”、"")、"8“、"")、"9”、"")

它可以扩展到去掉"-“和十进制指标”。“以及"+“(如果相关的话),最后,使用

=trim(substitute(substitute(substitue(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"1“、”“)、"0”、“”)、"2“、”“)、"3”、“”)、"4“、”“)、"5”、“”)、"6“、”“)、"7”、“”)、"8“、”“)、"9”、""),"-“、"")、"+”、"")、“”、""))

其中小写表示当前步骤中添加的复杂内容。

通过更改要解析的整个数组的范围引用(A1: an )并将公式作为数组输入(即使用Ctl+Enter而不是Enter来完成任务),这将自然映射到整个数组。

然后,我使用len(B1)来检查结果是否符合我的要求。

不优雅,无可否认。但可能是一个有用的练习,教学生思考和编码“在飞行”。

票数 2
EN

Stack Overflow用户

发布于 2011-06-30 03:00:25

更新:我不小心发布了一个包含函数,而不是替换!

搜索和替换Regex工作得很好,但是您可能需要编辑文本后的单词(比如数字之前的逗号,等等)。

这是函数。模式是简单=RegexReplace(单元格,"\d","")

代码语言:javascript
复制
Function RegexReplace(ByVal text As String, _
                      ByVal replace_what As String, _
                      ByVal replace_with As String) As String

Dim RE As Object
Set RE = CreateObject("vbscript.regexp")

RE.Pattern = replace_what
RE.Global = True
RegexReplace = RE.Replace(text, replace_with)

End Function
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3580203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档