资源简介
文件内容比较
代码片段和文件信息
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\.NETfr
....... 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\ba
....... 292 2019-02-19 15:40 SimilarCompareCore\Model\CompareArticalResultModel.cs
............此处省略41个文件信息
- 上一篇:《精通C#数据库开发》源码
- 下一篇:xm
l操作类(xm lProcess.cs)
相关资源
-
C#读取xm
l文件数据。显示在datagrid - C# 快速打开文件夹(桌面快捷操作工
- c# winform ftp 文件
- videoMonitor实时监控
- 大文件Socket 传输 客户端和服务端
- 大文件复制(多线程)
- C#写的文件读写
-
LINQ查询xm
l文件 - asp.net 大文件上传(带进度条)
- C#拖拽获取文件名称
- C# 获取文件夹内所有文件名工具
- C# 文件批量处理器
-
C# 读写xm
l文件(xm l文件生成按钮 - ASP.NET 在浏览器中预览文件
- FTP上传 文件
- 配置文件内容加密工具源码(基于b
- 批量转换JPG尺寸和画质,并且可以旋
- 读取文件夹下的note文本文件,编辑、
- C# 解析dxf文件
- AVI,SVI文件互转,Des 加解密
- Teigha读取DWG测试程序
- PDF文件 阅读控件 (VeryPDF PDFView OCX)
- C#文件流读取CSV文件
- c#读写PDF文件sql
- C# winform Socket大文件传输
- U3D 简化版跳一跳小游戏新手入门 源码
- vb调用c#编写的串口DLL文件(vb源码
- 验证EXCEL导入模板是否符合标准
- C#多文件打包
- c#使用openoffice组件操作文件
评论
共有 条评论