我们可以使用C#比较两个JavaScript文件吗?

时间:2010-09-27 12:52:57

标签: javascript c#-4.0 filecompare

我试过比较两个文本文件。如果这些数据包含相同的数据,但即使只有一个空格也存在差异,结果显示为“不同”。

有谁能告诉我如何使用C#比较两个JavaScript文件?

3 个答案:

答案 0 :(得分:1)

由于JavaScript是空白容忍的(只要语法正确就容忍任何数量的空白),如果要比较的空白,那么最简单的事情就是正则表达式替换:

Regex _r = new Regex(@"\s+", RegexOptions.Compiled);
string result = _r.Replace(value, " ");

在两个文件上运行此命令并比较结果;它用一个空格替换任何标准空白字符序列(空格,制表符,回车符,垂直制表符等)。然后,您可以与Equals进行比较(区分大小写或不符合您的要求)。

当然,空格在字符串中很重要,所以这假设所有比较文件中的字符串处理都不依赖于空格太多。

然而,两个非常不同的代码文件可以产生相同的效果,所以如果你面前有一个艰苦的工作就是这样。

答案 1 :(得分:0)

你只需要知道它们是否完全一样吗?如果是这样,您可以将它们加载到内存中并比较.length()属性...

答案 2 :(得分:0)

从技术上讲,如果一个文件包含额外的空格,则它们不是“相同”。我首先要比较长度,如果那些不匹配,你需要进行逐字节比较。如果你想删除额外的空格,你可能首先要对这两个文件的内容做一些像Trim()这样的事情。

这是一篇描述如何创建文件比较功能的旧MS帖子的链接:

http://support.microsoft.com/kb/320348