如何从C#中的行中删除行?

时间:2015-09-24 07:39:27

标签: c# string newline lines

尝试创建从一组行中删除一行代码的代码。我盯着这段代码50分钟,不知道为什么它不起作用(似乎没有删除任何东西)。请帮帮忙?

        public string[] removeLinesFromLines(string[] remLns, string[] lns)
        {
            //convert lns into equivalent string
            string lnst = "";
            foreach (string ln in lns)
            {
                lnst += ln + Environment.NewLine;
            }
            lnst = lnst.Trim(Environment.NewLine.ToCharArray());

            //convert remlns into equivalent string
            string remt = "";
            foreach (string ln in remLns)
            {
                remt += ln + Environment.NewLine;
            }
            remt = remt.Trim(Environment.NewLine.ToCharArray());

            //delete all instances of remlns from lns
            lnst = lnst.Replace(remt, "");

            //convert back into array
            return Regex.Split(lnst, Environment.NewLine); 
}

使用lns =

b

C

d

B'/ P>

d

C

和remlns =

B'/ P>

C

输出应该是......

d

B'/ P>

d

C

代码非常简单!从功能上讲,它就像4条不同的线条。

1 个答案:

答案 0 :(得分:1)

你在找这样的东西吗?

public string[] removeLinesFromLines(string[] remLns, string[] lns)
        {
            var result = lns.Except(remLns);
            return result.ToArray(); 
        }

这将返回一个字符串数组,这些字符串存在于lns但不存在于remLns