所以我正在尝试从文件中读取一些行,如果该行包含要跳过的特定字符串,则打印该行。
while ((line = sr.ReadLine()) != null)
{
if (line.Contains("(tst)"))
Console.WriteLine(line);
}
如果我的行是“lorem tst a btst c” 如何让它显示为“lorem a b c”?
答案 0 :(得分:1)
您的行变量属于string
类型,因此请使用其内置的Replace
函数。
使用正则表达式替换字符串中间的任何多余空格。
using System;
using System.Text.RegularExpressions;
public class Program
{
public static void Main()
{
Regex regex = new Regex(@"[ ]{2,}", RegexOptions.None);
string test = "lorem tst a btst c tst tst tst tst a";
Console.WriteLine(regex.Replace(test.Replace("tst", ""), @" "));
}
}
结果:
lorem a b c a
请参阅此处的工作示例... https://dotnetfiddle.net/BXDZs6
答案 1 :(得分:0)
对于您想要的确切结果有点困惑,但String.Replace()可能就是您所追求的。
while ((line = sr.ReadLine()) != null)
{
if (line.Contains("tst")) {
string line = line.Replace("tst", "");
Console.WriteLine(line);
}
}