Mercurial > hg > octave-nkf
diff scripts/io/importdata.m @ 19485:8d7e760bfa68 stable
importdata.m: better regexp pattern to assess delimiter (bug #43393)
author | Philip Nienhuis <prnienhuis@users.sf.net> |
---|---|
date | Sat, 11 Oct 2014 16:01:28 +0200 |
parents | 87dfe4892ef9 |
children | 9f83ea3fa48c 446c46af4b42 |
line wrap: on
line diff
--- a/scripts/io/importdata.m +++ b/scripts/io/importdata.m @@ -176,7 +176,7 @@ ## If no delimiter determined yet, make a guess. if (isempty (delimiter)) ## This pattern can be fooled, but mostly does the job just fine. - delim = regexp (row, '[-+\d.eE*ij ]+([^-+\d.ij])[-+\d.ij]', + delim = regexpi (row, '[-+\d.e*ij ]+([^-+\de.ij])[-+\de*.ij ]', 'tokens', 'once'); #delim = regexp (row, '[+-\d.eE\*ij ]+([^+-\d.ij])[+-\d.ij]', # 'tokens', 'once'); @@ -498,6 +498,18 @@ %! assert (d, "\t"); %! assert (h, 0); +%!test +%! ## Distinguish double from complex when no delimiter is supplied (bug #43393) +%! fn = tmpnam (); +%! fid = fopen (fn, "w"); +%! fputs (fid, "2.0000e+02 4.0000e-04"); +%! fclose (fid); +%! [a, d, h] = importdata (fn); +%! unlink (fn); +%! assert (a, [2e2, 4e-4]); +%! assert (d, " "); +%! assert (h, 0); + %!error importdata () %!error importdata (1,2,3,4) %!error <FNAME must be a string> importdata (1)