91网首页-91网页版-91网在线观看-91网站免费观看-91网站永久视频-91网站在线播放

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

在 C# 中計算兩個字符串之間的相似度

admin
2023年3月22日 17:15 本文熱度 1363

本文說明了在 C# 中計算兩個字符串之間相似度的不同技術。

我們可以使用 編輯距離算法 確定 C# 中兩個字符串之間的相似性。編輯距離算法通過找到將一個字符串轉換為另一個字符串所需的最少移動次數(添加、刪除、插入)來告訴我們兩個字符串之間的差異程度。我們甚至可以使用 Jaro-Winkler 距離算法來代替編輯距離。

以下代碼提供了編輯距離算法的 C# 實現,并使用它來查找兩個給定字符串之間的相似性:

using System;


public class Example

{

    public static int getEditDistance(string X, string Y)

    {

        int m = X.Length;

        int n = Y.Length;

        int[][] T = new int[m + 1][];

        for (int i = 0; i < m + 1; ++i) {

            T[i] = new int[n + 1];

        }

        for (int i = 1; i <= m; i++) {

            T[i][0] = i;

        }

        for (int j = 1; j <= n; j++) {

            T[0][j] = j;

        }

        int cost;

        for (int i = 1; i <= m; i++) {

            for (int j = 1; j <= n; j++) {

                cost = X[i - 1] == Y[j - 1] ? 0: 1;

                T[i][j] = Math.Min(Math.Min(T[i - 1][j] + 1, T[i][j - 1] + 1),

                                   T[i - 1][j - 1] + cost);

            }

        }

        return T[m][n];

    }


    public static double findSimilarity(string x, string y) {

        if (x == null || y == null) {

            throw new ArgumentException("Strings must not be null");

        }

        double maxLength = Math.Max(x.Length, y.Length);

        if (maxLength > 0) {

            // 如果需要,可以選擇忽略大小寫

            return (maxLength - getEditDistance(x, y)) / maxLength;

        }

        return 1.0;

    }


    public static void Main()

    {

        string s1 = "Techie Delight";

        string s2 = "Tech Delight";

        double similarity = findSimilarity(s1, s2);

        Console.WriteLine(similarity);        // 0.8571428571428571

    }

}

上面的代碼計算兩個字符串在封閉范圍內的相似度 [0, 1],我們可以很容易地修改返回值 findSimilarity() 例程以百分比計算相似度(返回值 x 100)。

這就是計算 C# 中兩個字符串之間的相似度。


該文章在 2025/2/24 14:41:34 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 99精品视 | 精品国产亚洲国 | 欧美日韩乱一区二区 | 最新国产ts人妖系列视频 | 成人拍拍视频 | 国产美女视频免费 | 日本不卡一本 | 日韩欧美大片精品黄 | 国产白领| 日本japa| 国产精品免费视频 | 动漫h在线观看 | 午夜影院高清无 | 日本色综合 | 中文字幕在线永久 | 成人影视 | 国产97视| 欧美日韩免费 | www黄免费| 蜜桃福利导航 | 日韩午夜有码 | 97视频网站 | 九九热在线视频观看 | 日韩欧美亚| 欧美亚洲性 | 国产网红主 | 91制片一二三 | 国产自产25区 | 日产无人区一线二 | 91天堂网 | 国产91影院 | 日韩天天精品综合 | 国产91精品看黄 | 精心挑选| 91福利电影 | 国产亚洲欧 | 国产亚洲人成a | 日韩欧美中文综合 | 日本三级中文电影 | 日韩欧美中文在线 | 国产在线播放免费 |