計算兩個字串之間是否包含的簡單方法

2021-09-06 12:47:57 字數 902 閱讀 4324

在前面介紹了兩個字串之間的匹配度 的演算法

計算字串相似度演算法—levenshtein

它解決了字串a和b之間的相識度的問題,但是我現在遇到了乙個新的問題,就是有字串a是固定值,字串c包括了字串b,希望求出字串c包括a的比率.但是我並沒有找到很好的解決方案.於是自己寫了乙個可用的簡單演算法 .

演算法原理

1.對固定的字串a進行二元分詞.得到乙個字元陣列.

2.迴圈得到的陣列,如果陣列中的某個字串在c中存在,計數加1

4.將計數/陣列的長度,得到乙個比例.

**

public static float includestr(string val, string str)

float num = 0;

int wordindex = -1;

foreach (string s in words)

wordindex = index;}}

return num / words.count;

}

2014.6.27日補

在實際的使用過程中發現上面的效果並不是很好,於是用了乙個更加簡單暴力的方法。

迴圈短的那個字串,長度為n,迴圈n次

每次取兩個字元,一直到最後

如果在長的字串裡面能夠找到,將變數m加1

最後返回m/n的比率

發現這種簡單粗暴的方法可以解決80%的問題。

public static float includestr1(string fname, string name)

else

if (fname.indexof(s) >= 0)

} return (float)m / (float)name.length;

}

判斷兩個字串是否為包含關係

題目描述 假設這有乙個各種字母組成的字串a,和另外乙個字串b,字串裡b的字母數相對少一些。什麼方法能最快的查出所有小字串b裡的字母在大字串a裡都有?比如,如果是下面兩個字串 string 1 abcdefghlmnopqrs string 2 dcgsrqpo 答案是true,所有在string2裡...

比較兩個字串是否相等

我剛剛才學了組合語言,就寫了乙個很簡單的程式.下面是程式 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 ...

判斷兩個字串是否相同

data segment mess1 db computer software mess2 db computer software data ends code segment assume ds data,cs code start mov ax,data mov ds,ax mov es,ax...