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 个评论
Ameer Hamza
2020-3-18
编辑:Ameer Hamza
2020-3-18
Mansour, what is the expected output for
jamstr('Matlab rocks!',0.1)
采纳的回答
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
helpful: https://www.mathworks.com/matlabcentral/answers/348090-how-do-i-overwrite-text-in-the-command-window
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 个评论
更多回答(0 个)
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!