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

1 vue (au cours des 30 derniers jours)
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...

Réponse acceptée

Walter Roberson
Walter Roberson le 21 Sep 2017
S = input('Please enter your text = ','s');
parts = regexp(S, '.{1,40}', 'match');
fprintf('%s\n', parts{:});
  1 commentaire
Stephen23
Stephen23 le 21 Sep 2017
Modifié(e) : Stephen23 le 21 Sep 2017
+1 briliiant. A very neat use of regular expressions.

Connectez-vous pour commenter.

Plus de réponses (1)

Jan
Jan le 21 Sep 2017
textwrap(x, 40)

Catégories

En savoir plus sur Low-Level File I/O dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by