需要删除CSV文件中的无效字符

问题描述 投票:0回答:2

我正在从提供给我的Microsoft SQL数据库中生成CSV文件,但是不知何故在整个文本的大约两个地方(有成千上万的数据行)中存在无效字符。当我在文本编辑器中打开CSV时,它们显示为红色的上下颠倒的问号(所附的屏幕截图中有两个)。

复制字符并在文本编辑器中查看“查找/替换”对话框时,会看到以下消息:

\ x {0D}

...但是我不知道那是什么意思。我需要修改生成CSV的脚本,以便将这些字符删除,但我不知道如何识别它们。我的脚本是用经典ASP编写的。

Screenshot of invalid characters in text editor

vbscript asp-classic non-ascii-characters
2个回答
1
投票

您也可以使用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!@#$&()\\-`.+,/\"]*$

0
投票

您可以简单地使用Replace function并指定Chr(191)(或直接"¿"):

Replace(yourCSV, Chr(191), "")

Replace(yourCSV, "¿", "")

这将删除字符。如果需要将其替换为其他内容,请将最后一个参数从""更改为其他值(例如"-")。

[通常,您可以从运行菜单中使用charmap.exe(字符图),选择Arial,找到一个符号并将其复制到剪贴板。然后,您可以使用Asc("¿")检查其值,这将返回要与Chr()一起使用的ASCII代码。

© www.soinside.com 2019 - 2024. All rights reserved.