C# - 比较字符串时显示差异

时间:2009-06-16 10:15:11

标签: c# asp.net string

在我的asp.net项目中,我有两个字符串(实际上,它们存储在Session对象中,然后我执行.ToString())

这个项目是我网站上免费日语练习的一部分(目前只有意大利语,所以我不会链接/垃圾邮件)

现在我做if (original == inputted.ToLower()),但我想比较字符串并突出显示屏幕上的差异

像这样:

原文:hiroyashi
用户写道:hiro shi

我正在考虑比较两个字符串并使用HTML标记保存另一个变量的差异,然后在Literal控件上显示...但是......如果差异很大,或者输入较短。 ..怎么做?

看起来需要大量的编码......或者不是吗?

3 个答案:

答案 0 :(得分:3)

我似乎记得有人在不久前问过这个问题,基本上他们指的是差异引擎。

快速搜索codeplex会出现: http://www.codeplex.com/site/search?projectSearchText=diff

通过一些出现的东西值得追捕 - 你可以在现有代码中插入一些内容吗?

干杯, 特里

答案 1 :(得分:2)

John Resig写了一篇javascript diff algorithm,但是他已经删除了这个页面,解释了它从他的网站上做了什么。它仍然可以通过google cache获得。 道歉,如果链接那是坏约翰。它应该做你想做的事,其他人接受它,调整它并撰写一篇关于它的文章here - 完成test page

答案 2 :(得分:0)

我不确定这是否有用,但这是我要做的一种方式:

我会使用一个hashmap,并在那里按空格分隔所有单词。 然后使用它我会用原始地图。

如果不同,可以添加html标签或其他任何内容。

在一个大词典上肯定存在性能问题 编码本身不会很长。