ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: Martinzhuchao

[求助] 碰到一个很棘手的问题:如何删除字符串中的空格,且只保留一个空格

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-7-24 11:27 | 显示全部楼层
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B2,"  "," "),"  "," "),"  "," "),"  "," "),"  "," "),"  "," "),"  "," "),"  "," ")

凑下闹,用公式试试,可就是有极限值……多指教
  太长了

TA的精华主题

TA的得分主题

发表于 2010-7-24 11:33 | 显示全部楼层
=substitute(A1,"  "," ")
还是两空换一空!

TA的精华主题

TA的得分主题

发表于 2010-7-24 11:40 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

用函数简单多了

用substitute函数一次就能把所有的空格替换掉空即"",省去第4个参数,

TA的精华主题

TA的得分主题

发表于 2010-7-24 15:39 | 显示全部楼层
TRIM
全部顯示
全部隱藏
移除文字之間多餘的空格,僅保留文字間一個空白字元。當您讀取到由其他應用程式所建立的檔案資料時,資料裡可能含有多餘的空白字元,在此情況下,您可以用 TRIM 函數刪除多餘的空格。

重要事項  TRIM 函數是用來從文字中修剪 7 位元 ASCII 空白字元 (值 32)。在 Unicode 字元集中,還有另外一個空格字元,稱為不分行空格字元,其十進位值為 160。此字元通常在網頁中做為 HTML 實體   使用。TRIM 函數本身並不會移除此不分行空格字元。如需如何從文字中修剪上述兩種空格字元的範例,請參閱移除文字中的空格及非列印字元。

語法
TRIM(text)
文字   為您所要移除多餘空白的文字資料。

TA的精华主题

TA的得分主题

发表于 2010-7-24 18:15 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
唉   EH 退化了~~  
如此简单的问题,偏要搞个复杂的公式和程序来。

TA的精华主题

TA的得分主题

发表于 2010-7-24 20:00 | 显示全部楼层

把连续两个空格替换成一个,重复循环

把连续两个空格替换成一个,重复循环,当字符串长度不再减少时结束循环
或者循环字符串中“空格的个数”-1次,这样虽然有点循环没有用,但可以达到你的目的

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-7-25 07:32 | 显示全部楼层
原帖由 coby001 于 2010-7-24 18:15 发表
唉   EH 退化了~~  
如此简单的问题,偏要搞个复杂的公式和程序来。

唉,有时候想得太多,确实会把简单问题复杂化。

TA的精华主题

TA的得分主题

发表于 2010-7-28 20:44 | 显示全部楼层
原帖由 coby001 于 2010-7-24 18:15 发表
唉   EH 退化了~~  
如此简单的问题,偏要搞个复杂的公式和程序来。


同感!
类似的回帖还有:
http://club.excelhome.net/viewth ... p;extra=&page=1
http://club.excelhome.net/viewth ... p;extra=&page=1

统观以上各贴,都是很简单的问题。可回复者不考虑如何用最简单的方法解决问题,非得把问题复杂化。

TA的精华主题

TA的得分主题

发表于 2012-1-3 09:20 | 显示全部楼层
还是正则来得快,留贴向alzeng老师学习!

TA的精华主题

TA的得分主题

发表于 2015-11-22 00:37 | 显示全部楼层
LangQueS 发表于 2010-7-22 13:47
Sub 清除多余空格()
For a = 1 To [a65536].End(xlUp).Row
    Range("a" & a) = Application.Trim ...

简单实用,特意点赞!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-22 09:46 , Processed in 0.044053 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表