【发布时间】:2022-11-22 01:24:18
【问题描述】:
我想在以“CSQL_CREATE_VIEW (” + some words + “)”结尾的文本中的每一行中添加一个右括号
因此最终结果如下所示:CSQL_CREATE_VIEW(视图名称)/n。 我无法使用当前代码获得右括号。帮助!
string[] Files = System.IO.Directory.GetFiles(@"filepath");
string path = @"outputTextPath";
foreach (string s in Files)
{
;
string fileCont = System.IO.File.ReadAllText(s);
if(fileCont.Contains("create view") == true)
{
File.AppendAllText(path, fileCont.Replace("create view","CSQL_CREATE_VIEW (") );
if (fileCont == "\r" && fileCont.Contains("CSQL_CREATE_VIEW ("))
{
File.AppendAllText(path, ")" + Environment.NewLine);
}
}
}
【问题讨论】:
-
1. 如果您的问题不是关于使用 Visual Studio 应用程序,请不要标记
[visual-studio]。这个问题与此无关。 2.fileCont究竟怎么会完全等于"\r"(单个字符)并且还包含一个字符序列 ("CSQL_CREATE_VIEW (")?我认为您需要在发布之前多考虑一下您的问题和代码。 -
fileCont == "\n"不太可能是真的,文件中只有一个空行。如果它是真的那么fileCont.Contains(..)将是假的 -
老实说,目前还不完全清楚您实际想要实现的目标。不管它是什么,我希望您使用
StreamWriter可能会更好,因为您显然想要向文件写入多个内容。对于您既定的目标(以 CSQL 开头的任何行...,将)添加到末尾),我希望您当前的方法无论如何都有些基础。您可能希望逐行阅读文件并根据阅读的内容做出明智的决定。您可以为此使用StreamReader。 -
你应该使用正则表达式。如果
create view实际上是create view或create\r\n view怎么办?
标签: c#