如何去除字符串中间的空格?
以前分享过关于字符串空格的处理函数《VBA基础入门(10)简单的字符串处理函数(5)》 查看Trim,LTrim,RTrim函数
今天来说说,中间的空格怎么办?
如下图所示,我们先来看前三个,都是去除所有的空格
方法一:用公式去除
=SUBSTITUTE(B4," ","")
引深:
【SUBSTITUTE函数】
定义:在文本字符串中用 new_text 替代 old_text。
语法:SUBSTITUTE(text,old_text,new_text,[instance_num])
Text 为需要替换其中字符的文本,或对含有文本的单元格的引用。
Old_text 为需要替换的旧文本。
New_text 用于替换 old_text 的文本。
Instance_num 为一数值,用来指定以 new_text 替换第几次出现的 old_text。如果指定了 instance_num,则只有满足要求的 old_text 被替换;如果缺省则将用 new_text 替换 TEXT 中出现的所有 old_text。
方法二:用VBA去除
Replace函数
VBA的Replace函数与公式的SUBSTITUTE函数看起来相差无几。
引深:
这里值得一提的是Excel公式里面也有一个Replace函数,这里不用弄混了,我们看看Excel内的SUBSTITUTE函数与Replace函数的比较。
【REPLACE函数】
如果需要在某一文本字符串中替换指定的文本,请使用函数 SUBSTITUTE;
如果需要在某一文本字符串中替换指定位置处的任意文本,请使用函数 REPLACE。
举个例子来讲:
AAABBBCCC为原字符串
我们想把BBB换成DDD
用SUBSTITUTE函数:
=SUBSTITUTE("AAABBBCCC","BBB","DDD")
用REPLACE函数则是:
=REPLACE("AAABBBCCC",4,3,"DDD")
方法三:用置换功能去除
非常简便的一种方法,Excel自带置换功能。
查找内容为:一个半(全)角空格
替换为:空
点击替换就会把你所选单元格替换掉了,如果你点了全部替换,他就会把下面范围的工作表或工作薄中所有满足条件的都替换掉。
接下来说说方法四,有朋友问了,那我中间指定一些空格,我不要了,其他的你得给我保留,行不行?
行的。
方法四:用SPLIT函数(VBA)去除
《VBA基础入门(8)简单的字符串处理函数(3) 》查看SPLIT函数
去除 “特” 与 “定” 之间的三个半角空格
有的朋友说了,如果每个都是一个空格,那你的方法四,就不好用了。
我们补充下方法一。
方法一的语法后面【SUBSTITUTE(text,old_text,new_text,[instance_num])】还有一个参数[instance_num]。
举个例子,在字符串“只 删 除 中 间 的 空 格”中,有7个半角空格,我们想删除最中间的一个半角空格,也就是第四个半角空格,我们就可以使用=SUBSTITUTE(B11," ","",4),来指定第几个old_text将被替换掉。
喜欢就点个赞再走吧
联系客服