2014-01-12 24 views
0

我正在做一些工作,並且遇到了一個問題 - 我有兩個字符串,它們可能相互之間也可能不相同。他們從最初的字符串開始,然後分別進行了修改。我如何協調或重新加入這兩個字符串?協調字符串的兩個版本

我是否需要跟蹤每個字符串所做的修改,然後將每個修改應用於原始字符串?我不知道該怎麼做 - 每個字符串都在textarea中被修改。

+1

你能解釋一下你的意思是調和?包括輸入,變化和預期產出的實際例子將是非常受歡迎的。 – Tibos

+0

要添加到Tibos所說的話,如果原始字符串是「蘋果是紅色的」,並且兩個修改過的字符串是「玫瑰是紅色的」和「香蕉是黃色的」,那麼輸出應該是什麼? – bfavaretto

回答

0

我想你正在尋找一種文本合併算法,正如源代碼控制管理工具(如git或svn)用來合併由兩個開發人員同時編輯的源代碼一樣。

的情形是這樣的:

enter image description here

如果是這樣的話,你可以看看這些問題:

關鍵詞是文本比較,合併,合併衝突,三路合併算法,DIFF和diff3的。


,成爲最近流行的另一種可能,是實時協作,用戶可以同時編輯同一個文檔,因爲是谷歌Wave,這是現在的谷歌文檔的一部分的核心功能。

在這裏尋找的術語是Operational Transformation。 Google工程師有很多YouTube視頻可以說明這些原則。

相關的是share.js和Mozilla的together.js

和最後一個:Real-time Collaborative Editing with Web Sockets, Node.js & Redis