MATLAB: How to search and extract specific string and data and write into new variable from file

filterfindsearchstringvariable

I have data containes lot of different values like this
BULK VARIABLES NW= 0.197E+10 QW= 0.302E-03 QWA= 0.931E-07
QSO2= 0.000E+00 QO3= 0.000E+00 QH2O2= 0.000E+00 QCO2= 0.000E+00 QNH3= 0.000E+00 QSO4 = 0.000E+00 QHMO3= 0.000E+00 pH= 0.594E+01 CONDUCT= 0.239E-01
And I would like to search pH= ****** at every line and extract from the file and write into a new variable (nx1).
you can find sample file in attached file.

Best Answer

  • I found soultion for this
    I am attching sample file also for better understanding
    clear
    fid = fopen('f20_CHEMISTRY.TXT','r');
    data = textscan(fid,'%s');
    fclose(fid);
    Str = string(data{:});
    % this loop for pH values
    %check the numbers(33 to 1484 in my case)
    % In str array from where you want to make reshape
    % below loop will extract the value and write new array
    y = 1;
    for j = 33:1484:length(Str)
    f20_pH(y) = Str(j,:);
    y = y+1;
    end
    f20_pH = str2double(f20_pH);
    save('f20_pH_con.mat','f20_pH')