我試圖自己創建某種基於字符串的比較算法。 我正在做的是:我遍歷文本文檔中的每個段落,並將它們進行比較。獲取字符串比較的開始和結束
現在我正在努力的是兩個字符串的比較開始和結束。
考慮具有兩個串:
This is a test-text.
This is a very long test-text.
這意味着有的在第二行('very long '
)10個字符(9文本,1個空白)的變化。
這些字符應相應突出顯示。我已經想出發現的字符串分歧開始的解決方案(比如:指數n是其中的區別開始):
int diffIndexStart = localText.Zip(serverText, (c1, c2) => c1 == c2).TakeWhile(b => b).Count();
現在我怎麼能當字符串匹配再次檢測,所以我可以停止在那裏突出顯示,而不是突出顯示該行的其餘部分(從diffIndexStart
開始)。
還有另外一個問題:當有一個行內的多個變化是什麼,讓我們說:
This is a test-text.
This, apparently, is a very long test-text.
現在我有兩個變化:, apparently,
和very long
。
這是一個答案或評論?我認爲它與[Levenshtein距離]更相關(http://en.wikipedia.org/wiki/Levenshtein_distance) –
你是否聲稱我的答案沒有給出工作方向?或者你是否期望看到一個便宜的自由職業者風格的「這段代碼片」起作用? – DarkWanderer
'我認爲這更與Levenshtein距離有關'是和不 - OP在這裏只說插入,至少在例子中。 – DarkWanderer