ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[分享] 删除文本中的空格和非打印字符

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-2-11 09:21 | 显示全部楼层 |阅读模式
以前在EXcelHome论坛看到一网友问:他的电子表格“求和”出现错误(公式完全确),不知什么原因,起始想到的可能是数字前后可能出现空格,然后用Trim函数处理,不管用。为了进一步打出原因,对每一个数据进行查看,发现有空格,但为什么Time删除不了呢?请看下文

有时文本值包含前导、尾部或多个嵌入空格字符(Unicode字符集(Unicode:UnicodeConsortium开发的一种字符编码标准。该标准采用多(于一)个字节代表每一字符,实现了使用单个字符集代表世界上几乎所有书面语言。)值32和160),或者非打印字符(Unicode字符集值0到31、127、129、141、143、144和157)。在您执行排序、筛选或搜索时,这些字符有时会导致意外结果。例如,用户可能由于不慎添加额外空格字符而导致录入错误,或者从外部源导入的文本数据可能包含在文本中嵌入的非打印字符。由于这些字符不容易引起注意,可能会导致难于理解的意外结果。要解决这些不需要的字符,您可以结合使用TRIM、CLEAN和SUBSTITUTE函数。

TRIM函数删除文本中除单词之间的单个空格外的所有空格。CLEAN函数删除文本中的所有非打印字符。这两个函数都设计用于7位ASCII,它是ANSI字符集(ANSI字符集:MicrosoftWindows使用的8位字符集,允许您使用键盘表示多达256个字符(0到255)。ASCII字符集是ANSI集的子集。)的一个子集。7位ASCII中的前128个值(0到127)与Unicode字符集中的前128个值代表相同的字符,了解这一点很重要。

TRIM函数设计用于清除文本中的7位ASCII空格字符(值32)。在Unicode字符集中,有一个称为不间断空格字符的额外空格字符,其十进制值为160。该字符通常在网页中用作HTML实体 。TRIM函数本身不删除此不间断空格字符。

CLEAN函数设计用于删除文本中7位ASCII代码中的前32个非打印字符(值0到31)。在Unicode字符集中,有附加的非打印字符(值为127、129、141、143、144和157)。CLEAN函数自身不删除这些附加的非打印字符。

要执行此任务,请使用SUBSTITUTE函数用7位ASCII字符(TRIM和CLEAN函数就是为这些字符设计的)替换较高值的Unicode字符。

示例

行与列号

A

1

数据

2

BD122

3

XY453

4

BD   122

5

MN987



公式

说明(结果)

=TRIM(A2)

删除字符串“BD122”中的尾部空格(BD112)

=CLEAN(A3)

从由表达式="XY"&CHAR(7)&"453"(XY453)生成的字符串值中删除非打印BEL字符(ASCII值为7)

=TRIM(SUBSTITUTE(A4,CHAR(160),CHAR(32)))

通过使用SUBSTITUTE函数,用一个空格字符(ASCII值为32)替换每个不间断空格字符(Unicode值为160),然后从字符串“BD122”中删除前导空格和多个嵌入空格(BD112)

=CLEAN(SUBSTITUTE(A5,CHAR(127),CHAR(7)))

通过使用SUBSTITUTE函数,用BEL字符(ASCII值为7)替换非打印DEL字符(ASCII值为127),然后从字符串“MN987”中删除BEL字符(MN987)

评分

3

查看全部评分

TA的精华主题

TA的得分主题

发表于 2010-2-11 09:38 | 显示全部楼层
研究的如此。还有啥不可以删除呢。

TA的精华主题

TA的得分主题

发表于 2010-2-11 09:50 | 显示全部楼层
还有什么删不了的呢?楼主研究如此之深,向你学习了。

TA的精华主题

TA的得分主题

发表于 2010-2-11 15:50 | 显示全部楼层
谢谢楼主,总结的真好,收藏了

TA的精华主题

TA的得分主题

发表于 2010-2-11 15:58 | 显示全部楼层
我比较懒,希望得到附件。。。。

TA的精华主题

TA的得分主题

发表于 2010-2-11 16:02 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 wangg913 于 2010-2-11 15:58 发表
我比较懒,希望得到附件。。。。



其实我更懒。幻想某一天微软开发的软件能够和大脑连接。就变成大脑想什么。软件就马上完成什么任务。

谢谢楼主分享。总结得不错。适合很多时候用函数格式不对的朋友们。

TA的精华主题

TA的得分主题

发表于 2010-2-11 18:51 | 显示全部楼层
原帖由 dg831451 于 2010-2-11 16:02 发表
其实我更懒。幻想某一天微软开发的软件能够和大脑连接。就变成大脑想什么。软件就马上完成什么任务。

谢谢楼主分享。总结得不错。适合很多时候用函数格式不对的朋友们。

请问。怎样才能成为社区监察?版主?

TA的精华主题

TA的得分主题

发表于 2010-2-11 18:54 | 显示全部楼层
前提综合实力达到一定水平,后经自己申请、坛组考察等环节,才可能会是监察、版主吧。

TA的精华主题

TA的得分主题

发表于 2010-2-11 18:56 | 显示全部楼层
路慢慢。。。。。。
祝春节快乐。

TA的精华主题

TA的得分主题

发表于 2010-4-11 13:42 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
谢谢楼主,收藏了 学习ing
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-11 02:08 , Processed in 1.076352 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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