设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
楼主: accsee使用中
打印 上一主题 下一主题

[其它] 有什么方法,一次性去掉 excel 某一列中的所有标点符号吗?

[复制链接]
1#
发表于 2010-7-20 11:48:28 | 显示全部楼层
本帖最后由 方漠 于 2010-7-20 11:53 编辑

可以写个自定义函数,把要去掉的特殊符号列举在清单上面就行了. 如下(全角符号不可辨认了,你自己列一下就行.):


Function RemoveSymbol(StrK As String) As String

'~!@#$%^&*()_-+=<>,.?/;:'"\|¡££¬£¡¡¤#£¤%¡­¡­¡ª*£¨£©£­¡ª£½+¡¶¡·£¬¡££»£º¡®¡°¡±¡¯¡¢|

'¡º¡»

StrK = Replace(StrK, "¡º", "")
StrK = Replace(StrK, "-", "")
StrK = Replace(StrK, "¡»", "")
StrK = Replace(StrK, "£º", "")
StrK = Replace(StrK, "¡°", "")
StrK = Replace(StrK, "¡±", "")
StrK = Replace(StrK, "*", "")
StrK = Replace(StrK, "¡¶", "")
StrK = Replace(StrK, "¡·", "")
StrK = Replace(StrK, "£¨", "")
StrK = Replace(StrK, "£©", "")
'.............. list all the symbol here with Replace Function
RemoveSymbol = StrK

End Function


此代码也可以在ACCESS VBA中直接使用.在QUERY里可以直接调用此函数.
2#
发表于 2010-7-20 11:51:33 | 显示全部楼层
图片如下:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
3#
发表于 2010-7-22 09:25:50 | 显示全部楼层
嗯,这个思路也很不错,不过代码好像漏了一句,另外一些符号也没有去掉,如*?!之类的,可能还需要加多一个FOR.

Function RemoveSymbol(StrK As String) As String

Dim i As Long

For i = -32768 To -32193
  StrK = Replace(StrK, Chr(i), "")
Next

For i = -24159 To -24000
  StrK = Replace(StrK, Chr(i), "")
Next

RemoveSymbol = StrK

End Function
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-12 06:53 , Processed in 0.079952 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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