Filter löschen
Filter löschen

Find the cell which is containing a string

1 Ansicht (letzte 30 Tage)
abb Shp
abb Shp am 16 Nov. 2020
Kommentiert: abb Shp am 17 Nov. 2020
hi guys, i have the below array:
A={'Dimension','Weight','Qty','Thk','Total Price'};
now I want to find out which cell (Row and Col number) has the string 'Price' in it, and the answer is row=1, col=5.
i dont know how to find that cell when i have only a part of the whole string in a cell,
please help me what to do, thnx a lot

Akzeptierte Antwort

Stephan
Stephan am 16 Nov. 2020
A={'Dimension','Weight','Qty','Thk','Total Price'};
[r,c] = find(contains(A,'Price'))

Weitere Antworten (2)

Ameer Hamza
Ameer Hamza am 16 Nov. 2020
Another solution using regexpi() which takes care of the letter-case too.
[r, c] = find(~cellfun(@isempty, regexpi(A, 'price')))
  3 Kommentare
Ameer Hamza
Ameer Hamza am 17 Nov. 2020
Bearbeitet: Ameer Hamza am 17 Nov. 2020
Yes, I meant that it works for all cases, wether you use 'price', 'Price', 'pRiCe'. regexpi() does not care about the case.
abb Shp
abb Shp am 17 Nov. 2020
Thanks :)

Melden Sie sich an, um zu kommentieren.


Setsuna Yuuki.
Setsuna Yuuki. am 16 Nov. 2020
A={'Dimension','Weight','Qty','Thk','Total Price'};
b = strfind(A,'Price')
for n=1:length(b)
if (~isnan(b{n}))
break;
end
end
fprintf("row 1, column %i \n",n)
  1 Kommentar
abb Shp
abb Shp am 17 Nov. 2020
thnx Bastian, this works too but wants a more general code

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Characters and Strings finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by