How to search for an exact string not just contains

241 visualizaciones (últimos 30 días)
Sara Ismail-Sutton
Sara Ismail-Sutton el 12 de Sept. de 2020
Comentada: Paul Safier el 21 de Dic. de 2021
Hiyah
I'm searching a cell array for an exact string, e.g the data I am searching contains both 'Las Vegas, NV' and 'North Las Vegas, NV' and I want specifically the coordinats of 'Las Vegas, NV'
the code I've used so far is:
Y = ~cellfun('isempty',strfind(cellstr(num),'Las Vegas, NV'));
(then [row col] = find(Y==1) )
how do I modify?
Thanks alot !

Respuestas (2)

the cyclist
the cyclist el 12 de Sept. de 2020
Editada: the cyclist el 12 de Sept. de 2020
Use strcmp instead, which checks for identical matches.
loc = {'Las Vegas, NV','North Las Vegas, NV'};
match = strcmp(loc,'Las Vegas, NV')
  4 comentarios
Sara Ismail-Sutton
Sara Ismail-Sutton el 12 de Sept. de 2020
well i'm not sure how to implement it. my task is finding directions between arbitary cities, a and b.
i've done the stage of calulated the coordinates and then get these to navigate to the right place in the table of the data which gives the distance. my code has passsed the test for random cities who's string is such that one does not contain another. but i have came across this problem for the case of las vegas and las vegas north as in the original post. For e.g in arbritary language so far is:
function[distance] = get_distance(a,b)
[words,num,raw]=xlsread('Distances.xlsx');
X = ~cellfun('isempty',strfind(cellstr(num),a));
Y = ~cellfun('isempty',strfind(cellstr(num),b));
[row col] = find(X==1);
[r c]=find(Y==1);
a1=row(1);
a2=col(1);
a=[a1 a2]
b1=r(2)
b2=c(2)
b=[b1 b2]
c=[(a1+1),(b1+1)]
distance=raw{c(1),c(2)}
end
many thanks
Paul Safier
Paul Safier el 21 de Dic. de 2021
@the cyclist your answer was definitely what was needed. Thanks!

Iniciar sesión para comentar.


Walter Roberson
Walter Roberson el 12 de Sept. de 2020
I'm searching a cell array for an exact string
Use ismember()
  7 comentarios
Walter Roberson
Walter Roberson el 12 de Sept. de 2020
X = ismember((num),a));
1 1 0
2 -1
Count your open brackets.
Sara Ismail-Sutton
Sara Ismail-Sutton el 12 de Sept. de 2020
omg hahhaa, yeh got it from the other line anywauy, thanks alot

Iniciar sesión para comentar.

Categorías

Más información sobre Cell Arrays en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by