vbscript - 从 txt 读取并清理 \x00
问题描述
我有一个这种格式的 .txt:
我可以像这样删除 Notepad++ 中的 NUL 字符:
所以我阅读了它,我找到了将正则表达式“\x00”替换为“”的解决方案......但我需要创建一个 VBScript。我发现了这样的例子:
sPath = "C:\Users\AL\T_1538_89945.txt"
sContent = ReadTextFile(sPath, 0) ' lFormat -2 - System default, -1 - Unicode, 0 - ASCII
sContent = Replace(sContent, "\x00", " ")
WriteTextFile sContent, sPath, 0
Function ReadTextFile(sPath, lFormat)
With CreateObject("Scripting.FileSystemObject").OpenTextFile(sPath, 1, False, lFormat)
ReadTextFile = ""
If Not .AtEndOfStream Then ReadTextFile = .ReadAll
.Close
End With
End Function
Sub WriteTextFile(sContent, sPath, lFormat)
With CreateObject("Scripting.FileSystemObject").OpenTextFile(sPath, 2, True, lFormat)
.Write sContent
.Close
End With
End Sub
但它不起作用,有人可以调整代码以便它可以从那个位置运行它来清理那些正则表达式吗?
解决方案
替换此行sContent = Replace(sContent, "\x00", " ")
对此sContent = Replace(sContent, ChrW(0), " ")
您试图替换字符串 "\x00" 而不是实际的 NULL 字符。我使用ChrW()将那个特定的字符替换为空格。Null 由字符 0 表示,因此现在我们不是替换字符串而是替换 NULL 字符。
推荐阅读
- azure - 没有使用用户名和密码通过 Azure AD OAuth2.0 ROPC 流获取刷新令牌和 id_token
- c# - 什么是“虚构”差异更改类型?
- java - 建造者模式:模型成员何时应该是最终的?
- swift - 为什么让我的视图的框架返回全屏,即使视图已经通过了 safeArea 约束?
- react-native - React Native - NSNumber 类型的 JSON 值“27”无法转换为 NSString
- python-3.x - selenium python webdriver,如何引用元素
- flutter - 为什么在 Dart 的列表定义中使用 if 和 for?
- aws-lambda - API Gateway 上的集成延迟
- javascript - 图像组件React Native中的多条曲线
- python - 字典自动调用作为值的函数