0

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

---------- 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," ");
        }
4

2 回答 2

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, "");
于 2013-01-28T11:29:23.287 回答
0

如果要删除确切的行,则无需使用正则表达式。通常,正则表达式用于匹配模式。不过,如果您想对此行使用正则表达式,您可以继续执行以下操作:

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

不要忘记添加\之前()

于 2013-01-28T11:33:02.850 回答