How to search and extract text segment from a character array?
Ältere Kommentare anzeigen
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 Kommentare
dpb
am 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
am 21 Nov. 2018
Antworten (1)
Andrei Bobrov
am 21 Nov. 2018
Bearbeitet: Andrei Bobrov
am 21 Nov. 2018
0 Stimmen
c = cellstr(hdr);
out = str2double(...
regexp(c,'(?<=(testdevice\.x|testdevice\.у)\s*\:\s*)\-?\d*','match','once'));
out = out(~isnan(out));
Kategorien
Mehr zu Characters and Strings finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!