Vbscript 使用多个分隔符拆分

Vbscript 使用多个分隔符拆分,vbscript,split,Vbscript,Split,我有一个文本文件,需要用两个分隔符逐行分割 'Testing' # Libname 'Testing2' #Libname2 下面是打开文件、读取内容和关闭文件的简单代码。然后重新打开文件,写入替换的内容并关闭它 Const ForReading = 1, ForWriting = 2, ForAppending = 8 filename = WScript.Arguments(0) & "\listofpaths.csv" Set fso = CreateObject("Script

我有一个文本文件,需要用两个分隔符逐行分割

'Testing' # Libname 'Testing2' #Libname2
下面是打开文件、读取内容和关闭文件的简单代码。然后重新打开文件,写入替换的内容并关闭它

Const ForReading = 1, ForWriting = 2, ForAppending = 8
filename = WScript.Arguments(0) & "\listofpaths.csv"

Set fso = CreateObject("Scripting.FileSystemObject")

'READ THE CONTENT
Set f = fso.OpenTextFile(filename, ForReading)
tempTxt = f.ReadAll()
f.Close

'REPLACE AND WRITE THE CONTENT BACK
Set f = fso.OpenTextFile(filename, ForWriting, False)
f.Write Replace(Replace(tempTxt, "'", ""), "#", "")

f.Close
Set f = Nothing : Set fso = Nothing
以下是前文:

“测试”#Libname
“测试2”#库名2
“测试3”#Libname
“测试”#Libname4

以下是同一文件中的后文:

测试Libname
测试2库名2
测试3 Libname
测试Libname4


要保留行的概念,请逐行处理输入文件,而不是使用.ReadAll。使用两个文件同时读写。如果要使用相同的文件名,可以在末尾使用fso.MoveFile将临时输出文件重命名为原始文件的名称。这也有占用更少内存的优点。谢谢你的回答。如何逐行阅读并正确分割文本?这正是我想要的,只是换行无效。我需要在测试语句之前删除所有内容。你能解释一下我的代码中哪部分不适合你吗。 Testing Libname Testing2 Libname2
Set objFile = objFSO.OpenTextFile(WScript.Arguments(0) & "\listofpaths.csv", ForReading)
strText = objFile.ReadAll
objFile.Close
strNewText = Replace(strText, Chr(34), "'") 'Replace Double Quote for Single Quote
strNewText = Replace(strNewText, "'", "#")  'Replace 
CharacterCount = (Len(strNewText) - Len(Replace(strNewText, "#", "")))

Set objNewFile = objFSO.CreateTextFile(WScript.Arguments(0) & "\listofpaths.csv", ForWriting, True)
objNewFile.Write strNewText
objNewFile.Close

Set objFile = objFSO.OpenTextFile(WScript.Arguments(0) & "\listofpaths.csv", ForWriting, True)

For i=1 To CharacterCount
    splitstr = Split(strNewText, "#")
    objFile.WriteLine splitstr(i) '& "#" & splitstr1(i)
    i = i + 1
Next

objFile.Close
WScript.Echo "  Process completed "
Const ForReading = 1, ForWriting = 2, ForAppending = 8
filename = WScript.Arguments(0) & "\listofpaths.csv"

Set fso = CreateObject("Scripting.FileSystemObject")

'READ THE CONTENT
Set f = fso.OpenTextFile(filename, ForReading)
tempTxt = f.ReadAll()
f.Close

'REPLACE AND WRITE THE CONTENT BACK
Set f = fso.OpenTextFile(filename, ForWriting, False)
f.Write Replace(Replace(tempTxt, "'", ""), "#", "")

f.Close
Set f = Nothing : Set fso = Nothing