Replace string and then place it again

2 次查看(过去 30 天)
Hey, I want to make the output return # as many times as a certain string has, and then, change each # with the corresponding letter in the original string to get a cool ouput.
This is my code so far but I got stuck:
function a = jamstr(strd,time)
for i = 0:1:length(strd)
z = i + 1;
expression = '^.*';
replace = '#';
newStr = regexprep(strd(z),expression,replace)
fprintf(newStr);
pause(time);
a=z;
if z == length(strd)
break
end
end
end
  3 个评论
Mansour Al Asais
Mansour Al Asais 2020-3-18
jamstr('Matlabl rocks!',0.1)
What do you mean?
Ameer Hamza
Ameer Hamza 2020-3-18
编辑:Ameer Hamza 2020-3-18
Mansour, what is the expected output for
jamstr('Matlab rocks!',0.1)

请先登录,再进行评论。

采纳的回答

BobH
BobH 2020-3-18
编辑:BobH 2020-3-18
This is intentionally backwards from what you asked; adjusting it to start with all '#' is for you
function a = jamstr( strd, time )
fprintf( '%s', strd ); % print the entire string
% one backspace for each char
bkspaces = repmat('\b',size(strd));
fmt = [bkspaces '%s']; % format string for fprintf
for i = 1:length(strd)
newStr = strd;
newStr(i) = '#';
fprintf( fmt, newStr );
pause(time);
end
fprintf( fmt, strd ); % restore original
fprintf( '\n' ); % end on a fresh line
end

更多回答(0 个)

类别

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