How to search and extract text segment from a character array?
Afficher commentaires plus anciens
I have some text in a variable namely 'hdr'. From the workplace I see the type of the variable being a character array.
From the text stored in the variable, I want to extract the value of 'testdevice.x' and 'testdevice.y'. I tried strfind() but it says "TEXT must be a string or cell array of strings."
Thanks for helping

2 commentaires
dpb
le 20 Nov 2018
Convert to either cellstr() or string() first, then regexp is vectorized to find more general patterns or use the new(ish) string...
hdr=string(hdr); % convert to string
ix=contains(hdr,"device.x")| contains(hdr,"device.y"); % find device.x|y
device=hdr(ix); % return those lines
then can parse those lines for the data
Md Nur Kutubul Alam
le 21 Nov 2018
Réponses (1)
Andrei Bobrov
le 21 Nov 2018
Modifié(e) : Andrei Bobrov
le 21 Nov 2018
0 votes
c = cellstr(hdr);
out = str2double(...
regexp(c,'(?<=(testdevice\.x|testdevice\.у)\s*\:\s*)\-?\d*','match','once'));
out = out(~isnan(out));
Catégories
En savoir plus sur Characters and Strings dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!