Как добавить пробелы в любую строку и поддерживать N символов? - PullRequest
1 голос
/ 22 мая 2019

В Ruby с использованием регулярных выражений я хочу изменить заданную строку, которая будет короче или ровно 15 символов, чтобы она всегда составляла 15 символов, добавляя пробелы.

Например:

'apple' => 'apple(10 spaces here)'

'orange' => 'orange(9 spaces here)'

'fifteenspaceshi' => 'fifteenspaceshi'

Я пробовал это, и оно работает, но будет ли регулярное выражение иметь более элегантное решение?

x = 'apple'

x = x + ' '*(15 - x.length)

Ответы [ 3 ]

8 голосов
/ 22 мая 2019

Нет необходимости привлекать регулярное выражение

"apple".ljust(15) # => "apple          "
5 голосов
/ 22 мая 2019

Я думаю, что ответ Серхио является лучшим в зависимости от сложности вопроса, но вы также можете использовать форматирование строки (sprintf), если позже вам потребуется более сложное форматирование:

"%-15s" % "apple" # => "apple          "

Чтение документация для шаблонов и как их читать / писать.

2 голосов
/ 22 мая 2019

Вот еще один способ использования левого трюка с отступами:

padding = "               "
input = "123" + padding
puts input.chars.first(15).join

"123            "
        ^^ 12 spaces

Идея состоит в том, чтобы объединить строку, содержащую 15 пробелов, к справа входной строки.Затем мы сохраняем первые 15 символов этого объединенного результата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...