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 件)
参考
カテゴリ
Help Center および File Exchange で Characters and Strings についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!