【发布时间】:2015-09-24 07:39:26
【问题描述】:
尝试创建从一组行中删除一行行的代码。我盯着这段代码看了 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
d
c
和remlns =
b
c
输出应该是……
一个
d
b
d
c
代码真的很简单!从功能上讲,它就像 4 条不同的线。
【问题讨论】:
-
那是因为它只有在匹配整个
remt字符串时才会替换它。我认为这不会发生。 -
你盯着它看 50 分钟是正常的:它真的很复杂。您应该尝试寻找更简单的解决方案,例如@un-lucky's :)
-
不,这真的很简单,兄弟。我已经对其进行了评论,以使其更容易理解。
-
发现问题:我的代码有效,输入无效,哈哈。