我正在从提供给我的Microsoft SQL数据库中生成CSV文件,但是不知何故在整个文本的大约两个地方(有成千上万的数据行)中存在无效字符。当我在文本编辑器中打开CSV时,它们显示为红色的上下颠倒的问号(所附的屏幕截图中有两个)。
复制字符并在文本编辑器中查看“查找/替换”对话框时,会看到以下消息:
\ x {0D}
...但是我不知道那是什么意思。我需要修改生成CSV的脚本,以便将这些字符删除,但我不知道如何识别它们。我的脚本是用经典ASP编写的。
您也可以使用RegEx删除不需要的字符:
Set objRegEx = CreateObject(“VBScript.RegExp”)
objRegEx.Global = True
objRegEx.Pattern = “[^A-Za-z]”
strCSV = objRegEx.Replace(strCSV, “”)
此代码来自下面的文章,详细说明了它的作用:How Can I Remove All the Non-Alphabetic Characters in a String?
根据您的情况,您需要在Pattern
中添加一些字符:
^[a-zA-Z0-9!@#$&()\\-`.+,/\"]*$
您可以简单地使用Replace function并指定Chr(191)
(或直接"¿"
):
Replace(yourCSV, Chr(191), "")
或
Replace(yourCSV, "¿", "")
这将删除字符。如果需要将其替换为其他内容,请将最后一个参数从""
更改为其他值(例如"-"
)。
[通常,您可以从运行菜单中使用charmap.exe
(字符图),选择Arial,找到一个符号并将其复制到剪贴板。然后,您可以使用Asc("¿")
检查其值,这将返回要与Chr()
一起使用的ASCII代码。