我们可以使用C#比较两个JavaScript文件吗?
问题描述:
我试过比较两个文本文件。如果这些数据包含相同的数据,但即使是一个空格也有差异,结果显示为“不同”。我们可以使用C#比较两个JavaScript文件吗?
谁能告诉我如何使用C#比较两个JavaScript文件吗?
答
你只需要知道它们是否完全一样?如果是这样,您可以将它们加载到内存中并比较.length()属性...
答
从技术上讲,如果一个文件包含额外的空间,它们就不是“相同的”。我首先比较长度,如果不匹配,则需要逐字节比较。如果你想删除多余的空格,你可能会首先在两个文件的内容上做一些像Trim()一样的操作。
这里是一个老MS帖子的链接描述了如何创建一个文件比较功能:
答
由于JavaScript是空白宽容(容忍空白的任何量,只要语法是正确的),如果要比较的一切但空白是最简单的事情做正则表达式替换:
Regex _r = new Regex(@"\s+", RegexOptions.Compiled);
string result = _r.Replace(value, " ");
运行这两个文件,并比较将R esults;它用一个空格替换任何标准空白字符序列(空格,制表符,回车符,垂直制表符等)。然后,您可以与Equals进行比较(根据需要区分大小写)。
当然,空格在字符串内部是很重要的,所以这里假设所有比较文件中的字符串处理都不太依赖空白。
但是,两个非常不同的代码文件可以具有相同的效果,所以如果这是您在您面前艰难工作之后所要做的。
当然你所说的是完全正确的。假设在第二个文件中我有一些代码之间的空间,然后如何去除这些东西。 – 2010-09-27 13:08:17