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