如何在Ruby中正确使用ljust和rjust?

时间:2016-10-23 02:08:36

标签: ruby string

我有一些代码:

line_width = 26

ch3 = "Chapter 3: Letters page 13"
puts(ch3.ljust(line_width/2) + ch3.rjust(line_width/2))

#=> Chapter 3: Letters page 13Chapter 3: Letters page 13

我希望将输出分割到中间,如下所示:

Half-Text__________________________________________________Half-Text

我该怎么做?

2 个答案:

答案 0 :(得分:1)

您需要先将文本拆分为两个。

line_width = 26

ch3 = "Chapter 3: Letters page 13"

ch3 = ch3.split(/\s(?=page)/) #=> ["Chapter 3: Letters", "page 13"]

puts(ch3[0].ljust(line_width / 2) + ch3[1].rjust(line_width / 2))

此输出

Chapter 3: Letters      page 13

答案 1 :(得分:0)

如果我理解正确,我不会在这里使用ljustrjust

line_width = 40
ch3 = "Chapter 3: Letters page 13"

left, right = ch3.split(/\s(?=page\s+\d+)/)
  #=> ["Chapter 3: Letters", "page 13"] 
puts left + ' '*(line_width-left.size-right.size) + right

打印

Chapter 3: Letters               page 13

请注意' '*(line_width-left.size-right.size)创建一个由

组成的字符串
line_with-left.size-right.size
  #=> 40 - 18 - 7 => 15

空间。