필터 지우기
필터 지우기

replacing string variables with others

조회 수: 4 (최근 30일)
tzaloupas
tzaloupas 2013년 2월 1일
Dear all,
I have an excel file which I import into matlab.
This file is of size 400000 by 29
Among other columns I have a column that contains text information
For instance here is some of the text information
textinfo={
'A'
'DRG MARS'
'FO'
'HYRETS > 250'
'HYPERET > 250SQ'
'LARGROIES 25-3'
'LARG SURMATS 1-29'
'SALL GRIES UP TO 25Q'
'SUEMATS 40-9S'};
I want to find a code that will do the following mapping automatically
Replace 'A' by 'SE1' (for example)
Replace 'DRG MARS' by 'SE5'
Replace 'FO' by 'SE04' and so on
So as to create another column that will contain the 'SE1' 'SE04' etc corresponding to the text information according to the previous mapping mechanism
This matrix is large and doing this manually would be impossible
thanks a lot

채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2013년 2월 1일
편집: Azzi Abdelmalek 2013년 2월 1일
s1={'A','DRG MARS','FO'};
s2={'SE1','SE5','SE04'};
for k=1:numel(s1)
textinfo=cellfun(@(x) regexprep(x,s1{k},s2{k}),textinfo,'un',0);
end
textinfo

추가 답변 (2개)

Thorsten
Thorsten 2013년 2월 1일
newtextinfo = textinfo;
idx =find(strcmp(textinfo, 'A'));
for i=1:numel(idx)
newtextinfo{i} = 'SE1';
end

Jos (10584)
Jos (10584) 2013년 2월 1일
Short and simple: STRREP
a = {'A','b','A','t'} ;
strrep(a,'A','xxx')
% ans = 'xxx' 'b' 'xxx' 't'

카테고리

Help CenterFile Exchange에서 Characters and Strings에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by