FindDuplicates improvements for text waves

Apologies if this has been posted already. 

FindDuplicates is pretty handy, but it seems to be missing some features when used on text waves.

1. It would be nice if there was a flag to turn off case sensitivity.  StringMatch is already case insensitive, and strsearch and cmpstr can be either, so adding this feature would make the behavior of FindDuplicates more consistent with the other functions.

2. It would also be nice if there was a text wave equivalent of the UN and UNC flags for numeric waves.  (Also, a description of those flags isn't in either the pdf of the manual or in the help files in Igor).

 

Maybe you can use Extract?

make/O/N=100/T junk
•junk[0,;2]="w"+num2str(p)
•junk[1,;2]="W"+num2str(p)
Extract junk, lowercase, CmpStr((junk)[0,1], "w1", 1)==0
print lowercase
  lowercase[0]= {"w10","w12","w14","w16","w18"}

 

I should have mentioned that I have workarounds using lowerstr and upperstr, and adding the case sensitive flag is more about convenience and having nice compact code than not being able to do something.

I second the request of KZarzana. Both would be nice improvements.

@KZarzana: What do the UN/UNC flags?

The conversion of arbitrary encoded text to upper/lower is not simple.  If you happen to know that the contents of your wave are ascii characters it is simple enough for you to convert before calling FindDuplicates as mentioned above.  I will add your request to the wish list.

 

A.G.