String 通过转义特殊字符在vbscript中读写文件

String 通过转义特殊字符在vbscript中读写文件,string,vbscript,String,Vbscript,我想通过转义文本中的特殊字符并用双引号括住输出,将文本文件复制到另一个文本文件 比如说。考虑输入文件为: ABC"hi%" bcd 我希望输出是 "ABC" + "" + "hi%" + "" +vbCRLF + "bcd" 在一行中。 脚本应在输入文本的每行末尾动态添加回车符和换行符 感谢您的帮助 谢谢您应该能够使用一系列的Replace()语句来实现这一点 s = objTextStream.ReadAll() s = Replace(s, """", """""") s = Rep

我想通过转义文本中的特殊字符并用双引号括住输出,将文本文件复制到另一个文本文件

比如说。考虑输入文件为:

ABC"hi%"
bcd
我希望输出是

"ABC" + "" + "hi%" + "" +vbCRLF + "bcd" 
在一行中。 脚本应在输入文本的每行末尾动态添加回车符和换行符

感谢您的帮助


谢谢

您应该能够使用一系列的
Replace()
语句来实现这一点

s = objTextStream.ReadAll()

s = Replace(s, """", """""")
s = Replace(s, vbTab, """ & vbTab & """)
s = Replace(s, vbCrLF, """ & vbCrLf & """)
.... 

' Add quotes around the whole string
s = """" & s & """"
但是,由于需要连接,最终结果中可能会出现一些空字符串。例如,如果您有连续的选项卡,则输出字符串将如下所示:

"some text" & vbTab & "" & vbTab & "" & vbCrLf & "Line2"
因此,您可能需要执行最后一次
Replace()
,以消除这些问题:

s = Replace(s, "& """" &", "&")

我知道如何处理,因为我是vbscript新手,我无法让代码正常工作。(1)示例没有演示转义(2)vbscript的连接运算符是
&
(3)vbCrLf不能是单行的一部分。我当时想的是通过读取行和循环每个行来获取文件,检查特殊字符并替换,最后在末尾添加vbCRLF。@Ekkehard.Horner是的,我没有正确地转义特殊字符。主要目的是将中的文本转换为包含在双引号中的单行。由于原始文本包含引号,我希望对其进行转义,以便它不会干扰开始引号和结束引号。@Ekkehard.Horner他可能想编写一个文本解析器,生成一个VBScript表达式来(重新)生成输入文本。这个话题太宽泛了,无法回答。谢谢,我会尽量让你知道的。