删除文本文件中的行的正则表达式是什么

时间:2013-01-28 11:26:09

标签: c# regex

这是我在文本文件中的行。我想使用正则表达式从我的文本文件中删除此行。

---------- RECOMMENDATION 1 OF 3 IN GROUP 1 (USD 168.90)----------

我正在尝试使用此代码,但它会出错。

       StreamReader sreader = File.OpenText(@"C:\FareSearchRegex.txt");
       string line;
       while ((line = sreader.ReadLine()) != null)
       {
  var pattern = "---------- RECOMMENDATION 1 OF 3 IN GROUP 1 \(USD 168.90\)----------";

       var result = Regex.Replace(sreader,pattern," ");
        }

2 个答案:

答案 0 :(得分:3)

正则表达式只做一件事:

他们匹配文字。

其他所有内容(例如删除,替换,命名)都是由库提供的功能,而不是正则表达式本身。

匹配你的行的正则表达式非常简单:

---------- RECOMMENDATION 1 OF 3 IN GROUP 1 \(USD 168\.90\)----------

...但如何删除取决于您使用的语言/库。由于您使用的是C#,因此可以使用Regex.Replace方法:

var pattern = "---------- RECOMMENDATION 1 OF 3 IN GROUP 1 \(USD 168\.90\)----------"
var result = Regex.Replace(text, pattern, "");

但是因为你的模式实际上只是一个固定的字符串,所以只使用普通的String.Replace方法会更有效,更简单:

var line = "---------- RECOMMENDATION 1 OF 3 IN GROUP 1 (USD 168.90)----------";
var result = text.Replace(line, "");

答案 1 :(得分:0)

如果要删除确切的行,则无需使用正则表达式。通常,正则表达式用于匹配模式。 如果你想为这一行使用正则表达式,你可以继续这样做:

---------- RECOMMENDATION 1 OF 3 IN GROUP 1 \(USD 168.90\)----------

不要忘记在\(

之前添加)