Could be marked as duplicated, but I haven't found a propper solution yet.
I need to write a function that compares 2 pieces of text word by word, and prints out the text showing added/deleted/changed words. For example:
StringOriginal = "I am Tim and I am 27 years old"
StringEdited = "I am Kim and I am not that old".
Result: I am Tim Kim and I am 27 years not that old.
Most of the diff algorithms I find tend to compare char by char. this works fine, untill you have a 2 different words on the same index, with mutual chars.
"I am Tim" edited to "I am Kim" Results into:
I am TKim
instead of
I am Tim Kim.
Any pointers?
Split by space both StringOriginal and StringEdited. Loop thru each word of StringOriginal comparing it to the same word index from Edited. Every unequal word should be put to a temporary variable and concatenate it to the result only when you get equal word again from the loop. Use StringBuilder in creating the result. Hope this helps