C 判斷兩個字串模糊相等

2021-09-27 00:14:15 字數 741 閱讀 3795

業務需要,需要對使用者輸入的文字做模糊相等判斷,比如「紅豆薏公尺」,「薏公尺紅豆」可以認為是相等的,又比如「書香酮」與「舒香桐」與可以認為是相等的。只是大概做個判斷,給使用者個提示,在不影響人類解讀的情況下,可以不用修改了。想了個簡單的演算法如下:

/// /// 判斷兩個字串是不是模糊相等

///

///

///

///

public static bool isbasicequal(string sinputa, string sinputb)

else

int nrate_hz_char = comparestring(smin, smax);

int nrate_py_char = comparestring(smin_py, smax_py);

if (((nrate_hz_char + nrate_py_char)/2) >= nsimilarrate)

else

}/// /// 逐個比較字元,判斷相似度

///

///

///

///

public static int comparestring(string smin, string smax)

}return (nrate * 100 / nlength_max);

}

後期,又做了些完善,對字串中的中文字元做模糊判斷,對西文字元可嚴格判斷,更符合業務需求。

如何判斷兩個字串相等

如果 name的值是管理員的話就走大括號里德 奇怪的是 現在這個條件怎麼也不成立了。無論name的值是不是管理員,程式死活就不走大括號離得 如果name是個控制項用tostring方法獲取的是該控制項的型別不是值 所以要先知道name是個什麼東東我估計不是這個問題.你除錯下獲取下name看下正常不 ...

Matlab 怎麼判斷兩個字串相等?

有時寫 時會立flag,今天不解決這個bug,就不吃飯了!還不信了!真香!明天再說吧 呸呸,是真的flag,識別符號啦。通過flag判斷當前程式狀態,進行下一步的邏輯塊。那麼這時,flag的變數型別一般會用數值型,只需要用 邏輯符進行判斷就好了,但是數值往往指示不明。比如,下面這行 你能完全不知道1...

比較兩個字串是否相等

我剛剛才學了組合語言,就寫了乙個很簡單的程式.下面是程式 dseg segment data1 db 9,0,9 dup data2 db 9,0,9 dup cnt db 8 str1 db 13,10,two string is same.str2 db 13,10,two string is ...