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'
  1 件のコメント
Laura Mendes
Laura Mendes 2021 年 6 月 13 日
Thank you :)

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMATLAB についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by