在我的应用程序中,我有两个字符串,我需要显示计数的缺失单词,插入计数和修改它们之间的单词的单词。 例如:
string variable1="When you are writing server code you can never be sure what the IP address you see is refereeing to.In fact some users like it this way.";
string variable2="when are wrting server code yu cannn never be sure **Demo** what the address you is to.In fact **Demo1** some users like it this way";
结果应为:
Missing Words: you, see ,IP
Missing Words count: 3
Inserted: Demo, Demo1
Inserted Words count: 2
Modified words : wrting,yu ,cannn ,refering
Modified words count :4
我试过这个但是在修改后的单词中没有正确显示
string variable1="When you are writing server code you can never be sure what the IP address you see is refereeing to.In fact some users like it this way.";
string variable2="when are wrting server code yu cannn never be sure **Demo** what the IP address you see is to.In fact **Demo1** some users like it this way";
//Missing Word Count
var result = variable1.Split(new char[] { ' ' }).Except(variable2.Split(new char[] { ' ' })).ToArray();
count = result.Length;
Label2.Text += "Missing Word Count: " + count.ToString() + "<br/><br/>";
for (int i = 0; i < count; i++)
{
Label1.Text += "Missing Word: " + result[i].ToString() + "<br/><br/>";
}
//Insert Word
var result1 = variable2.Split(new char[] { ' ' }).Except(variable1.Split(new char[] { ' ' })).ToArray();
count = 0;
count = result1.Length;
for (int i = 0; i < count; i++)
{
Label3.Text += "Insert Word: " + result1[i].ToString() + "<br/><br/>";
}
Label4.Text += "Insert Word Count: " + count.ToString() + "<br/><br/>";
//Modifide Words
string[] tempArr1 = variable1.Split(' ');
string[] tempArr2 = variable2.Split(' ');
int counter = 0;
for (int i = 0; i < tempArr1.Length; i++)
{
if (tempArr1[i] != tempArr2[i])
{
lblwords.text=tempArr1[i] + ", "+ tempArr2[i];
counter++;
}
}
任何人都可以帮我解决这个问题。
谢谢
答案 0 :(得分:1)
您可以使用Linq
来实现此目标
string s1 = "When you are writing server code you can never be sure what the IP address you see is refereeing to.In fact some users like it this way.";
string s2 = "are wrting server code yu cannn never be sure what the IP address you see is to.In fact some users like it this way.";
var list = s2.Split(' ').Where(x => (!s1.Split(' ').Contains(x))).ToList();
int count = list.Count;
foreach (var item in list)
{
//your code
}