• 大小: 1.56M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-04-30
  • 语言: C#
  • 标签: 比较  文件  

资源简介

文件内容比较

资源截图

代码片段和文件信息

using PanGu;
using PanGu.Match;
using SimilarCompareCore.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Regularexpressions;
using System.Threading.Tasks;

namespace SimilarCompareCore
{
    public class CompareCore
    {
        /// 
        /// 默认最小匹配数
        /// 

        private int DefaultMinSameCount = 4;
        /// 
        /// 默认最小相似度
        /// 

        private double DefaultMinMatchPercent = 0.6;
        /// 
        /// 默认行长度比:对比的行长度/目标行长度
        /// 

        private double DefaultMinLineLengthPercent = 0.6;
        /// 
        /// 设置最小匹配字数
        /// 

        /// 
        public void SetDefaultMinSameCount(int value)
        {
            if (value < 1) value = 1;
            DefaultMinSameCount = value;
        }
        /// 
        /// 设置最小匹配相似度
        /// 

        /// 
        public void SetDefaultMinMatchPercent(double value)
        {
            if (value <=0) value = 0.1;
            DefaultMinMatchPercent = value;
        }
        /// 
        /// 设置默认行长度比
        /// 

        /// 
        public void SetDefaultMinLineLengthPercent(double value)
        {
            if (value <= 0) value = 0.5;
            DefaultMinLineLengthPercent = value;
        }

        /// 
        /// 通过分词将内容拆分
        /// 

        /// 
        /// 
        public virtual IEnumerable GetWordList(string content)
        {
            //TODO 将分词结果缓存起来

            var matchOptions = new MatchOptions();
            matchOptions.FrequencyFirst = true;
            Segment segment = new Segment();
            var words = segment.DoSegment(content matchOptions).Select(word => word.Word);
            return words;
        }

        /// 
        /// 拆分内容成行
        /// 

        /// 
        /// 
        /// 
        public  List GetLines(string content string pattern)
        {
            /*
             * 根据正则来拆分,同时,根据正则匹配的结果,把拆分的分隔符记录下来
             * 因为每次拆分都会是根据匹配的符号拆分,所以必定是拆分的每一段内容都有相应的分隔符
             * 将内容和分割符单独保存下来,方便后面重新将一句句的重新拼接起来
             * 
             */
            var regex = new Regex(pattern);
            if (!regex.IsMatch(content)) return null;
            var matches = regex.Matches(content);
            var lines = regex.Split(content);

            var LineList = new List();

            for (int i = 0; i < lines.Length; i++)
            {
                if (string.IsNullOrEmpty(lines[i])) continue;

                var lineModel = new LineModel { Content = lines[i] RedTagIDList = new List() SameWordCountList = new List() SimilarPercentList = new List

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    .......      4979  2019-02-19 15:40  SimilarCompareCoreTest\Data\content.txt

    .......      5571  2019-02-19 15:40  SimilarCompareCoreTest\Data\content2.txt

    .......      1135  2019-02-19 15:40  SimilarCompareCoreTest\Data\htmltemplate.html

    .......    266012  2019-02-19 15:40  SimilarCompareCoreTest\Data\jquery.js

     文件        208  2021-01-29 15:03  SimilarCompareCoreTest\obj\Debug\.NETframeworkVersion=v4.0.AssemblyAttributes.cs

    .......      7163  2019-02-19 15:40  SimilarCompareCoreTest\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

    .......      2333  2019-02-19 15:40  SimilarCompareCoreTest\obj\Debug\SimilarCompareCoreTest.csproj.FileListAbsolute.txt

     文件      26172  2021-01-29 15:03  SimilarCompareCoreTest\obj\Debug\SimilarCompareCoreTest.csprojAssemblyReference.cache

    .......     38181  2019-02-19 15:40  SimilarCompareCoreTest\obj\Debug\SimilarCompareCoreTest.csprojResolveAssemblyReference.cache

    .......      7680  2019-02-19 15:40  SimilarCompareCoreTest\obj\Debug\SimilarCompareCoreTest.exe

    .......     15872  2019-02-19 15:40  SimilarCompareCoreTest\obj\Debug\SimilarCompareCoreTest.pdb

    .......      3034  2019-02-19 15:40  SimilarCompareCoreTest\Program.cs

    .......      1332  2019-02-19 15:40  SimilarCompareCoreTest\Properties\AssemblyInfo.cs

    .......      3700  2019-02-19 15:40  SimilarCompareCoreTest\SimilarCompareCoreTest.csproj

     文件       1515  2019-02-19 15:40  filediff.sln

     文件      54784  2019-02-19 15:40  filediffCore.v12.suo

    ..A..H.     33280  2021-01-29 15:03  .vs\filediff\v16\.suo

    .......     60416  2019-02-19 15:40  .vs\SimilarCompareCore\v15\.suo

    .......         0  2019-02-19 15:40  .vs\SimilarCompareCore\v15\Server\sqlite3\db.lock

    .......      4096  2019-02-19 15:40  .vs\SimilarCompareCore\v15\Server\sqlite3\storage.ide

    .......     32768  2019-02-19 15:40  .vs\SimilarCompareCore\v15\Server\sqlite3\storage.ide-shm

    .......   2954072  2019-02-19 15:40  .vs\SimilarCompareCore\v15\Server\sqlite3\storage.ide-wal

    ..A..H.     75264  2021-01-29 15:03  .vs\SimilarCompareCore\v16\.suo

    .......     10411  2019-02-19 15:40  SimilarCompareCore\CompareCore.cs

    .......    454656  2019-02-19 15:40  SimilarCompareCore\Libs\Lucene.Net.dll

    .......   3801600  2019-02-19 15:40  SimilarCompareCore\Libs\PanGu.dll

    .......     12288  2019-02-19 15:40  SimilarCompareCore\Libs\PanGu.HighLight.dll

    .......      7168  2019-02-19 15:40  SimilarCompareCore\Libs\PanGu.Lucene.Analyzer.dll

    .......       275  2019-02-19 15:40  SimilarCompareCore\Model\baseModel.cs

    .......       292  2019-02-19 15:40  SimilarCompareCore\Model\CompareArticalResultModel.cs

............此处省略41个文件信息

评论

共有 条评论