Filter löschen
Filter löschen

Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

Comparing two equal strings doesnt work

1 Ansicht (letzte 30 Tage)
Christian Schumacher
Christian Schumacher am 19 Okt. 2019
Geschlossen: MATLAB Answer Bot am 20 Aug. 2021
I have a list of strings (containing hockey player names) and I want to find the index for a specific name.I never had such an easy problem before and it is driving my insane.
I tried this:
player and index are both "Connor McDavid"
player = Player(1);
index1 = string(200);
logic = strcmp(index1 ,player);
Here are screenshots too ensure that they contain the same value.
Unbenannt.PNG
Unbenannt.PNG
logic should return a 1 but it returns 0. I tried == too but it doesnt help.
Pls help me, i dont know what to do anymore.
  9 Kommentare
Daniel M
Daniel M am 20 Okt. 2019
Bearbeitet: Daniel M am 20 Okt. 2019
Haha, oh yeah, they are strings.
char(player)-'A'
Walter Roberson
Walter Roberson am 20 Okt. 2019
160 is U+00A0, "non-breaking space"
player = replace(player, char(160), ' ');
index1 = replace(index1, char(160), ' ');
but it would probably make more sense to replace all of the 160 in your data source (perhaps immediately after retrieving it) instead of doing the replacement each iteration.

Antworten (1)

Prasad Parameswaran
Prasad Parameswaran am 22 Okt. 2019
Bearbeitet: Prasad Parameswaran am 22 Okt. 2019
This can be solved by using the "ismember" function, refer the below example:
A = ["John"; "Lee" ; "James"; "Lee"];
B = "Lee";
index = ismember(A,B)
The output is
index =
4×1 logical array
0
1
0
1

Diese Frage ist geschlossen.

Community Treasure Hunt

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

Start Hunting!

Translated by