C# 删除文件regex中两个标记之间的文本块

C# 删除文件regex中两个标记之间的文本块,c#,regex,C#,Regex,我正在用c#创建一个数字看板应用程序,在删除两个部分之间的文本块时遇到问题。我想删除的文本介于[Video]和[Video_END]之间 在查看其他示例后,我一直试图使用正则表达式来实现这一点,但我遇到了一个编译器错误: CS1502:与“System.Text.RegularExpressions.Regex.Replace(string,string,string,System.Text.RegularExpressions.RegexOptions)”匹配的最佳重载方法“具有一些无效参数

我正在用c#创建一个数字看板应用程序,在删除两个部分之间的文本块时遇到问题。我想删除的文本介于[Video]和[Video_END]之间

在查看其他示例后,我一直试图使用正则表达式来实现这一点,但我遇到了一个编译器错误:

CS1502:与“System.Text.RegularExpressions.Regex.Replace(string,string,string,System.Text.RegularExpressions.RegexOptions)”匹配的最佳重载方法具有一些无效参数

这是我的密码: StringBuilder newFile=新StringBuilder()

但是,当我查看该文件时,它删除了该文件的所有内容

我试过这个:

字符串text=text.ReadAllText(@“C:\Intranet\Net\ProjectApollo\Screens\”+位置)

然后


var output=Regex.Replace(text,@“(?您正在将
string[]file
传递给
Regex.Replace
。相反,您应该迭代
string[]file
(可能
string[]lines
是更好的名称)并逐行处理它

string[] file = File.ReadAllLines ...

file.Select(line=>Regex.Replace(line,...)) 

但是,你应该考虑使用“<代码>(s))(我真的找不到任何错误。文件是一个字符串吗?它必须是一个字符串。我想你正在传递一个文件对象或类似的东西。你能提供一个吗?你能告诉我们<代码>文件> <代码>变量>代码>控制台吗?写行(“文件:类型是{ 0 }”,文件.GETTYPE());并超过结果。请显示所有相关代码。
文件
,变量类型是什么?它必须是
字符串
是的,您是对的,thanksOr TS可以使用ReadAllText。例如
字符串文件=文件.ReadAllText(@“C:\Intranet\Net\ProjectApollo\Screens\”+位置)
。我猜这就是我的意图,因为
RegexOptions。多行
是指定的,它在单行匹配中没有任何意义。(这与所讨论的regex无关;)我将尝试一下,我需要更改的唯一一件事是替换这个值:data ytid=”youtubevid“to data ytid=”“。虽然我想知道如果可能的话如何删除整个文本块。
    File.WriteAllText(@"C:\Intranet\Net\ProjectApollo\Screens\" + location, output);
string[] file = File.ReadAllLines ...

file.Select(line=>Regex.Replace(line,...))