从txt读取并清理\ x00

时间:2018-05-09 00:49:40

标签: vbscript

我有一个这种格式的.txt:

image

我可以删除Notepad ++中的NUL字符,如下所示:

Solution

所以我读到了它,并且我找到了替换常规表达式“\ x00”for“”的解决方案......但是我需要创建一个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

但它不起作用,有人可以调整代码,以便它可以从清理那些正则表达式的位置运行它吗?

1 个答案:

答案 0 :(得分:0)

替换此行flutter build apk --release flutter install

sContent = Replace(sContent, "\x00", " ")

你试图替换一个字符串" \ x00"而不是实际的NULL char。我使用ChrW()用空格替换特定的char。 Null由字符0表示,因此现在我们不替换字符串而是替换NULL char。