using regexp for char data

11 views (last 30 days)
sermet
sermet on 10 Jul 2013
out1 =
p.11 109 820 109
p.12 503 159 117
p.13 234 207 151
p.14 139 134 215
Name Size Bytes Class Attributes
out1 1x188 376 char global
%when I want to exctract first column of this data I use
out1 = char(regexp(out1,'p\.\d+','match'))
%the problem is first column characters varies. for example out1 would be;
out1 =
o10 109 820 109
o12 503 159 117
o13 234 207 151
o14 139 134 215
%or it would be
out1 =
oa10 109 820 109
ob12 503 159 117
oc13 234 207 151
od14 139 134 215
%as you seen, it changes so I need to use regexp without dependent first character or numbers belongs to first column.
thanks in advance

Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 10 Jul 2013
a=cellfun(@(x) regexp(x,'\d+','match'),out1,'un',0);
for k=1:numel(a)
out(k,1)=str2num(char(a{k}(1)))
end
  3 Comments
Jan
Jan on 10 Jul 2013
It seems like out1 is a string, which contain line breaks: "1x188 char". Do you assume it is a cell string.
sermet
sermet on 10 Jul 2013
yes I do

Sign in to comment.

Categories

Find more on Characters and Strings in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!