how to center a string

4 vues (au cours des 30 derniers jours)
Mitchie Teotico
Mitchie Teotico le 28 Mar 2020
Modifié(e) : Stephen23 le 28 Mar 2020
The goal of this question is to create a function named padLine which inputs a string (char, 1 × N) and a linewidth (integer, scalar). The function then pads the string with spaces (if N<linewidth) in an attempt to center the string the function should output the padded string (char,1xlinewidth).
for example
out=padline('2',9);
disp(out)
xxxx2xxxx
where x is a space

Réponse acceptée

Peng Li
Peng Li le 28 Mar 2020
Modifié(e) : Stephen23 le 28 Mar 2020
function out = padline(c, n) if n > length(c) n2add = floor((n - c) / 2); out = [repmat(‘ ‘, 1, n2add) c repmat(‘ ‘, 1, n - length(c) - n2add)]; else out = c; end
typed using cell phone. You may need to replace the ‘ with the correct symbol. Try it.
You may also interested in pad function that works with strings. You can add space to both sides of a string (defined by “ instead of ‘) or a string array.

Plus de réponses (1)

Stephen23
Stephen23 le 28 Mar 2020
str = '23';
num = 9;
tmp = (num-numel(str))/2;
out = sprintf('%*s%*s',fix(tmp)+numel(str),str,ceil(tmp),'')

Catégories

En savoir plus sur Characters and Strings 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