比如
string a="aaaaaaaa";
string b="aaaabaaaac";
不同的地方就有两个 “ b ” 和 “ c ”
string a="aaaaaaaa";
string b="aaaabaaaac";
不同的地方就有两个 “ b ” 和 “ c ”
1
wwlzz Feb 14, 2016
请搜索关键字 longest common string :)
|
2
breeswish Feb 14, 2016
你需要字符串 diff 算法
|
3
pyengwoei OP @breeswish 是的 找到一个 Diff.cs 不会用
public static Item [] DiffText(string TextA, string TextB, bool trimSpace, bool ignoreSpace, bool ignoreCase) { |
4
wwlzz Feb 14, 2016 https://en.wikibooks.org/wiki/Algorithm_Implementation/Strings/Longest_common_substring#Retrieve_the_Longest_Substring
说一个简单的思路,找到两个字符串最长子字符串,认为是相同的,剩下部分递归执行上面算法,直到剩下的字符串长度小于等于 1 ,算法参考上面的链接。 |
9
jsq2627 Feb 15, 2016
|
10
wwlzz Feb 15, 2016
我简单看了下你贴的 DiffTextClass.cs 里面的算法,其中 LCS 这个方法就是我说的最小子字符串算法,思路就是我回复里面描述的那种
|