Advertisement
stuppid_bot

Untitled

Sep 6th, 2014
308
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.24 KB | None | 0 0
  1. function repeatStr(s, n) {
  2.     return Array(++n).join(s);
  3. }
  4.  
  5. var PAD_LEFT = 0;
  6. var PAD_RIGHT = 1;
  7. var PAD_BOTH = 2;
  8.  
  9. /*
  10.  * Дополняет строку до нужной длины.
  11.  *
  12.  * @param {string} s Искомая строка.
  13.  * @param {number} l Длина до которой нужно дополнить строку.
  14.  * @param {string} p Символы для дополения. По умолчанию " ".
  15.  * @param {number} t Тип дополнения PAD_LEFT, PAD_RIGHT или PAD_BOTH.
  16.                      По умолчанию PAD_RIGHT.
  17.  * @return {string}
  18.  */
  19.  
  20. function pad(s, l, p, t) {
  21.     p = p || ' ';
  22.     if (s.length >= l) return s;
  23.     l -= s.length;
  24.     if (t == PAD_BOTH) {
  25.         l /= 2;
  26.     }
  27.     p = repeatStr(p, Math.ceil(l / p.length));
  28.     if (t == PAD_BOTH) {
  29.         s = p.substr(0, Math.floor(l)) + s + p.substr(0, Math.ceil(l));
  30.     }
  31.     else if (t == PAD_LEFT) {
  32.         s = p.substr(0, l) + s;
  33.     }
  34.     else {
  35.         s += p.substr(0, l);
  36.     }
  37.     return s;
  38. }
  39.  
  40. function padRight(s, l, p) {
  41.     return pad(s, l, p, PAD_RIGHT);
  42. }
  43.  
  44. function padLeft(s, l, p) {
  45.     return pad(s, l, p, PAD_LEFT);
  46. }
  47.  
  48. function padBoth(s, l, p) {
  49.     return pad(s, l, p, PAD_BOTH);
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement