'Comparing two strings, find the indexes of added words, ignoring "edited" words

Is it possible? With no library's or memory of the changes as they're made?

The example I'm showing below is probably more edited than the text I will be evaluating (although much shorter). For my use case, I will be editing a transcription that is usually very accurate and I need to be able to know if a new word is added & where so I can approximate a timecode for the new word, as well as shift the existing timecodes forwards to combat the offset that the new word has created.

originalString = "Hello, this sum example txt. Hopefully this is possible!";
editedString = "Hello, this is some example text. Maybe this is not impossible.";

//The edited words are: "sum/some", "txt/text", "Hopefully/Maybe", "possible/impossible"
//It would be useful to get the edited words also - but not essential

//the new words are: "is", "not"
//Output would be
newWordIdxs = [2, 9];

First post here and have only been coding for 3 or 4 months so any tips on how to ask better questions are very welcome.



Solution 1:[1]

How to estimate an word was edited? According to the example you posted, the word 'some' may be added, and 'sum' is removed. It's more logical to find which word or character is removed or added by excluding the same words or characters in sequence. This javascript library may help , https://www.npmjs.com/package/diff

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1