这是我在文本文件中的行。我想使用正则表达式从我的文本文件中删除此行。
---------- 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," ");
}
答案 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\)----------
不要忘记在\
和(
)