在ruby中的字符串之前和之后添加空格?
我的红宝石是生疏,但IMO无可厚非用最简单的方式
def pad(random)
" " + random + " "
end
padded_random_string = pad("random_string")
中心
"random_string".center("random_string".length + 2)
不应该是'pad(“random_string”)'? – 2010-07-28 23:39:44
嘿,我声称红宝石锈:)修复它... – 2010-07-29 16:38:40
irb(main):001:0> x='Random String'
=> "Random String"
irb(main):002:0> y=' '+x+' '
=> " Random String "
irb(main):003:0> x.center(x.length+2)
=> " Random String "
至center
的参数是总长度所需的输出字符串(包括填充)。
基于文档,你不需要第二个参数居中,但我没有测试,所以它可能是错误的:) – 2010-07-28 22:09:51
@卢卡斯第二个参数(如果存在)是一个用作填充字符的字符串。如果省略,则使用空格。我认为这是Ruby 1.8的一个补充,并且该链接可能引用版本1.6。 – bta 2010-07-28 22:17:38
没错。我应该说你不需要它来满足他的要求,因为基于他的问题,他想要追加空间。 – 2010-07-28 22:35:08
我的意思是,有没有理由不能这样做?
padded_string = ' ' + random_string + ' '
我觉得这是最优雅的解决方案:
padded_string = " #{random_string} "
没有错,采取讨巧。
这是最干净的解决方案。 – 2012-06-16 19:21:04
“Random_string” .ljust( “Random_string”。长度+ 4).rjust( “Random_string”。长度+ 8)
或 “Random_string” .ljust(17).rjust(21)#,其中“Random_string使用.ljust法.rjust方法
换句话说,只是.ljust加上.rjust方法一起 – 2016-11-23 22:50:41
'str.ljust(INT)'和'str.rjust(INT)“是13个字符长
'是方法我一直在寻找,当我来到这个岗位。 [https://ruby-doc.org/core-2.2.0/String.html#method-i-ljust] – 2017-01-07 15:24:14