Replace 如何使用VBScript删除.txt文件中重复的字符串模式?

Replace 如何使用VBScript删除.txt文件中重复的字符串模式?,replace,vbscript,Replace,Vbscript,使用VBScript,如何对从“MCS4”开始到“商标”结束的文本进行定界,并用空格替换 输入: alpha beta gamma MCS4 Copyright (c) 2018 Reg. Trademark delta epsilon theta MCS4 Copyright (c) 2018 Reg. Trademark phi chi omega 阿尔法 贝塔 伽马射线 MCS4版权所有(c)2018 规则。商标 三角洲 ε 西塔 MCS4版权所有(c)2018 规则。商标 phi 芝

使用VBScript,如何对从“MCS4”开始到“商标”结束的文本进行定界,并用空格替换

输入:

alpha beta gamma MCS4 Copyright (c) 2018 Reg. Trademark delta epsilon theta MCS4 Copyright (c) 2018 Reg. Trademark phi chi omega 阿尔法 贝塔 伽马射线 MCS4版权所有(c)2018 规则。商标 三角洲 ε 西塔 MCS4版权所有(c)2018 规则。商标 phi 芝加哥 欧米茄 期望输出:

alpha beta gamma delta epsilon theta phi chi 阿尔法 贝塔 伽马射线 三角洲 ε 西塔 phi 芝加哥

替换(字符串、查找、替换为[、开始[、计数[、比较]])

在本例中,假设字符串的名称为strCopyright:

    Replace(strCopyright,"MCS4 Copyright (c) 2018 Reg. Trademark",""))

如果要删除的字符串始终相同,则可以将函数用作。如果“MCS4”和“商标”之间的文本是变量,则需要正则表达式。请注意,无论哪种方式,您都需要将整个文本放在一个字符串中,以使替换生效

使用
Replace
功能:

Set fso = CreateObject("Scripting.FileSystemObject")
txt1 = fso.OpenTextFile("C:\path\to\your.txt").ReadAll

s = "MCS4 Copyright (c) 2018" & vbNewLine & "Reg. Trademark"

txt2 = Replace(txt1, s, "")
使用正则表达式替换:

Set fso = CreateObject("Scripting.FileSystemObject")
txt1 = fso.OpenTextFile("C:\path\to\your.txt").ReadAll

Set re = New RegExp
re.Pattern = "MCS4[\s\S]*?Trademark"
re.Global  = True

txt2 = re.Replace(txt1, "")

模式
[\s\s]*?
匹配零个或多个空格(
\s
)或非空格(
\s
)字符,以覆盖包括换行符在内的所有文本。修饰符
*?
确保获得最短的匹配序列,因此替换所有“MCS4…商标”子字符串,而不是第一个“MCS4”和最后一个“商标”之间的整个文本。

使用替换功能。将该字符串替换为空字符串“”。输出是否应以“
omega
”结尾?标题中提到了.txt文件,但问题中没有描述。您应该澄清是否要从一个文本文件中读取并将结果写入(1)同一文本文件(即更新内容),(2)新文本文件,或(3)控制台(即标准输出)?