分享

VBA基础入门(26.7)【答疑】如何去掉字符串中间的空格?

 asaser 2022-03-28

如何去除字符串中间的空格?

图片

以前分享过关于字符串空格的处理函数《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将被替换掉。

图片

喜欢就点个赞再走吧图片图片图片

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多