Using a loop to replace spaces for underscore

조회 수: 23 (최근 30일)
Laura Mendes
Laura Mendes 2021년 6월 12일
댓글: Laura Mendes 2021년 6월 13일
Hello there, I am a complete begginer in Matlab and was given an exercise that took me a whole day and still, no success.
The following function puts a '\' in front of every underscore. I have to change this function in a way that it replaces every space for an underscore.
locs = strfind(instring, '_'); % finding all underscores
if isempty(locs)
outstring = instring;
else
outstring_start_ind = 1;
instring_start_ind = 1;
for underscore_cnt = 1:length(locs) % for each underscores
outstring(outstring_start_ind:(locs(underscore_cnt)+underscore_cnt-2)) = ...
instring(instring_start_ind:(locs(underscore_cnt)-1));
outstring(locs(underscore_cnt)+underscore_cnt-1) = '\';
outstring_start_ind = locs(underscore_cnt)+underscore_cnt;
instring_start_ind = locs(underscore_cnt);
end
outstring(outstring_start_ind:(length(instring)+underscore_cnt)) = ...
instring(instring_start_ind:end);
end
Is there someone who can give me a hand here, please? Thank you.
  댓글 수: 6
Laura Mendes
Laura Mendes 2021년 6월 12일
I tried this function within the main code where I use the posted function, and it did not work... :/
Laura Mendes
Laura Mendes 2021년 6월 13일
I did it thank u very much

댓글을 달려면 로그인하십시오.

답변 (2개)

John D'Errico
John D'Errico 2021년 6월 12일
Ye gods, that is a complicated way to solve a job poorly. Sorry, but it is. Two lines, assuming you want the result in outstring. One line, if you are willing to replace in the original string.
outstring = instring;
outstring(instring == '_') = ' ';
That replaces every underscore with a space.
  댓글 수: 1
Laura Mendes
Laura Mendes 2021년 6월 13일
I had to change something here, but it HELPED! Thank you so much for the support!

댓글을 달려면 로그인하십시오.


Steven Lord
Steven Lord 2021년 6월 12일
Use the replace function.
before = 'Hello world'
before = 'Hello world'
after = replace(before, ' ', ' cruel ')
after = 'Hello cruel world'

카테고리

Help CenterFile Exchange에서 MATLAB에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by