无法删除excel中的非空格空格字符

时间:2014-11-04 17:43:44

标签: regex excel whitespace trim

当通过任何方法(导入,粘贴......)将数据导入excel时,我有时会遇到以下问题。在单元格的开头,文本前面有一个额外的空间。现在我知道处理这个问题的常用程序:

trim(cell number)

如果它不是空格字符

=TRIM(SUBSTITUTE(cell number,CHAR(160),CHAR(32)))

但这次这两个都行不通。我确实尝试过其他替代CHAR。

并且开头的角色很奇怪。当我转到单元格的最开头并尝试删除它时,我必须按两次删除键才能删除一个空格!但是当我转到单元格中的第一个字符而不是按下退格键时,我只需要按一下它。

我还能做些什么来消除这种奇怪的非太空空白角色?

3 个答案:

答案 0 :(得分:1)

如果单元格 A1 包含不可见的垃圾字符,则必须识别它们才能删除

选择一些单元格并输入:

=IFERROR(CODE(MID($A$1,ROWS($1:1),1)),"")

并复制下来。这将为 A1

中的每个字符提供 CHAR 代码

然后你可以使用 SUBSTITUTE()删除罪犯。

答案 1 :(得分:0)

让我们假设列A有一些文本,其中一些单元格是好的,一些文本具有奇怪的空间,如前面的字符。所以我们想改变一些细胞,而不是一些细胞。

1)创建一个列,每个单元格中有一个字母。我决定转到右边的H列表。因此,例如,单元格H1具有A,单元格H2具有B,依此类推。

2)获取我们想要编辑的单元格的长度。我把这个公式放在了B1的单元格中。

=LEN(A1)

3)测试单元格的第一个字母。这给了我们改变哪个细胞,哪个不改变。我把这个公式放在C1单元格中。

=ISNA(VLOOKUP(LEFT(A1),$H$1:$H$26,1,0))

4)使用RIGHT和LEN的结果改变(或不依赖于步骤3)。

=IF(B1,RIGHT(A1,B1-2),A1)

请注意,我必须减去2个空格而不是1个空格?就像我说的那样,这是一个奇怪的角色。

5)重复列。

答案 2 :(得分:0)

如果你的字符串中的第一个合法字符位于集合[A-Za-z0-9]中,那么你可以使用这个公式:

=MID(A1,MIN(SEARCH({"a";"b";"c";"d";"e";"f";"g";"h";"i";"j";"k";"l";"m";"n";"o";"p";"q";"r";"s";"t";"u";"v";"w";"x";"y";"z";0;1;2;3;4;5;6;7;8;9},A1&"abcdefghijklmnopqrstuvwxyz1234567890")),99)

其中99比最长的字符串长。如果有其他合法的起始字符,则将它们添加到数组常量和最后的字符串。

如果您可能需要删除尾随空格(char(32)),则可以将上述内容括在TRIM函数中。

相关问题