Compare two string vectors with same input arguments but different length

1 回表示 (過去 30 日間)
Nils Pelzer
Nils Pelzer 2021 年 11 月 18 日
コメント済み: Nils Pelzer 2021 年 11 月 18 日
Hi Guys,
I have two string arrays i want to compare. They both contain the same arguments, but in one of them some arguments are there twice or more times. My problem is, that i want to like give every argument an index number, so that in both string arrays the same argument has the same index.
For example: {a,b,c,d,e,f,g,h} and {a,a,b,c,d,d,d,e,e,f,g,h} are my strings. And i want to have two double arrays: (1,2,3,4,5,6,7,8) and (1,1,2,3,4,4,4,5,5,6,7,8).
Is it possible to make this work? Cause my string arrays, are about 25000 and 35000 rows long, and i need to put them in the "same" format, so i can procede with my script.
I would be grateful for every help i can get.
Greetings
Nils

採用された回答

Paul
Paul 2021 年 11 月 18 日
If stored in a cell arrary:
c1 = {'a','b','c','d','e','f','g','h'};
c2 = {'a','a','b','c','d','d','d','e','e','f','g','h'};
[~,ind] = ismember(c2,c1)
ind = 1×12
1 1 2 3 4 4 4 5 5 6 7 8
If actually stored as strings
s1 = string(c1)
s1 = 1×8 string array
"a" "b" "c" "d" "e" "f" "g" "h"
s2 = string(c2)
s2 = 1×12 string array
"a" "a" "b" "c" "d" "d" "d" "e" "e" "f" "g" "h"
[~,ind] = ismember(c2,c1)
ind = 1×12
1 1 2 3 4 4 4 5 5 6 7 8
  1 件のコメント
Nils Pelzer
Nils Pelzer 2021 年 11 月 18 日
Man! You are my hero. I´m not even joking. you solved all of my problems with this. Thank you so much! Appreciate the help!
Greetings

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCharacters and Strings についてさらに検索

製品


リリース

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by