フィルターのクリア

Remove repeated values in a CSV string

4 ビュー (過去 30 日間)
Matthew Tyler Jeffries
Matthew Tyler Jeffries 2019 年 4 月 19 日
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 件のコメント
Walter Roberson
Walter Roberson 2019 年 4 月 19 日
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 ?
Matthew Tyler Jeffries
Matthew Tyler Jeffries 2019 年 4 月 19 日
Yes, the values will always be numeric, no decimals, no fractions, no negative numbers.

サインインしてコメントする。

採用された回答

Stephan
Stephan 2019 年 4 月 19 日
編集済み: Stephan 2019 年 4 月 19 日
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),',')),','))
  1 件のコメント
Matthew Tyler Jeffries
Matthew Tyler Jeffries 2019 年 4 月 22 日
Thank you! This is exactly what I need.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeString Parsing についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by