Remove repeated values in a CSV string
1 view (last 30 days)
Show older comments
Matthew Tyler Jeffries
on 19 Apr 2019
Commented: Matthew Tyler Jeffries
on 22 Apr 2019
I have a string with comma separated values, and would like to delete the repeated values so that there are no repeats in my string.
mystring = '1,1,1,25,33,33,5,5,3,2,1,1'
Iwant = '1,25,33,5,3,2'
The order of the numbers in "Iwant" is not important. It could be '1,25,33,5,3,2' or "1,33,5,25,3,2" or "2,3,5,33,1,25" (whatever works).
I have many other strings I would like to edit, so it would be great if the code could apply to a string with any manner of numbers in it.
2 Comments
Walter Roberson
on 19 Apr 2019
Are the values certain to be numeric? Are they certain to be integer? If they might be floating point, then would 25.70 be considered different than 25.7 ?
Accepted Answer
Stephan
on 19 Apr 2019
Edited: Stephan
on 19 Apr 2019
mystring = '1,1,1,25,33,33,5,5,3,2,1,1'
iwant = join(unique(split(string(mystring),',')),',')
results in a string:
mystring =
'1,1,1,25,33,33,5,5,3,2,1,1'
iwant =
"1,2,25,3,33,5"
Note, that you speak of string, but use char type. if you want char as result use this instead:
iwant = char(join(unique(split(string(mystring),',')),','))
More Answers (0)
See Also
Categories
Find more on Large Files and Big Data in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!