Filter löschen
Filter löschen

How can I print entered string with restriction of 40 characters per line?

2 Ansichten (letzte 30 Tage)
So my task is entering a string as a input value. Then, with the numel(string), get the number of characters and divide the entered string in to set of 40 characters per line. Which means whatever character that comes after 40th, 80th, 120th.... it goes down to the subsequent line.
x = input('Please enter your text = ','s');
y = numel(x);
z = y;
i = 0;
while z > 40
z = z - 40; % if y = 83
i = i + 1; % after this, i=2 and z=3
end
for w = 1:40:((40*(i-1))+1)
for k = 40:40:(40*i)
(x(w:k))
end
end
x((40*i) + 1:(40*i) + z)
This is what I currently have and it is not working. For characters which remained (not part of 40 character line) is set as 'z' after the while loop. Then set to print the remaining characters after the for loop. Please help...

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 21 Sep. 2017
S = input('Please enter your text = ','s');
parts = regexp(S, '.{1,40}', 'match');
fprintf('%s\n', parts{:});

Weitere Antworten (1)

Jan
Jan am 21 Sep. 2017
textwrap(x, 40)

Community Treasure Hunt

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

Start Hunting!

Translated by