【发布时间】:2020-10-03 07:29:29
【问题描述】:
我正在比较两个文本框的值。
我正在从第二个文本框中获取更改词,但只能使用一些句子,请参阅下面的输出正常
当我在第二个文本框中写另一个句子时,问题就出现了,例如:“hello are you made”
WebForm1.aspx
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="ftextbox" runat="server"></asp:TextBox>
<asp:TextBox ID="stextbox" runat="server"></asp:TextBox>
<br /><br />
<asp:Button ID="Button1" runat="server" Text="Compare" OnClick="Button1_Click" />
<br />
<asp:Label ID="Label1" runat="server" Text=""></asp:Label><br /><br />
<asp:Label ID="Label2" runat="server" Text=""></asp:Label><br /><br />
</div>
</form>
</body>
</html>
WebForm1.aspx.cs
protected void Button1_Click(object sender, EventArgs e)
{
if (IsPostBack)
{
Label2.Text = "";
Label1.Text = "";
}
//change word
var result = stextbox.Text.Split(new char[] { ' ' }).Except(ftextbox.Text.Split(new char[] { ' ' })).ToArray();
int count = result.Length;
for (int i = 0; i < count; i++)
{
Label1.Text += result[i].ToString() + " ";
}
Label2.Text = "Old Text is:";
Label1.Text = "Chnage Text is:" + Label1.Text;
//old Words
string[] tempArr1 = ftextbox.Text.Split(' ');
string[] tempArr2 = stextbox.Text.Split(' ');
int counter = 0;
for (int i = 0; i < tempArr1.Length; i++)
{
if (tempArr1[i] != tempArr2[i])
{
Label2.Text = Label2.Text + tempArr1[i] + " ";
counter++;
}
}
}
第一个图像显示完美的输出,但第二个不是。
【问题讨论】:
-
citeseerx.ist.psu.edu/viewdoc/…,是字符串比较的良好开端。根据您的一系列问题,您是否尝试实现某种 Diff,例如在代码编辑器中比较代码时?实现是否重要,还是您希望通过 3rd 方库实现最小化?