> On Mar 13, 2022, at 1:05 PM, J. Landman Gay via use-livecode > <use-livecode@lists.runrev.com> wrote: > > On 3/12/22 8:54 PM, Roger Guay via use-livecode wrote: >> I have a field with about a thousand lines with many duplicate lines, and I >> want to delete the duplicates. Seems like this should be simple but I am >> running around in circles. Can anyone help me with this? > > Making the list into an array is the easiest way but as mentioned, it will > destroy the original order. If the order is important then you can restore it > with a custom sort function... >
Since order must be maintained, it’s probably faster not to split and sort, and faster not to scan the list repeatedly using lineOffset or contains. You could do it like this: command removeDuplicates pDelimitedList, pDelimiter local tArray, tList set the lineDelimiter to pDelimiter repeat for each line tLine in pDelimitedList if not tArray[tLine] then -- i.e., if this line hasn't appeared already, then ... put true into tArray[tLine] put tLine & pDelimiter after tList end if end repeat delete last char of tList return tList for value end removeDuplicates — Dick _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode