Replace string and then place it again

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 个评论

I'm having difficulty understanding what you're asking.
- what would a sample 'strd' look like?
- what do you want the corresponding 'a' to look like?
jamstr('Matlabl rocks!',0.1)
What do you mean?
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 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Environment and Settings 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by