2010-07-28 169 views
4

我想在隨機字符串之前和之後添加一個空格。我試過使用「Random_string」.center(1,「」)但它不起作用。在ruby中的字符串之前和之後添加空格?

感謝

+0

'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

回答

3

我的紅寶石是生疏,但IMO無可厚非用最簡單的方式

def pad(random) 
    " " + random + " " 
end 

padded_random_string = pad("random_string") 

中心

"random_string".center("random_string".length + 2) 
+1

不應該是'pad(「random_string」)'? – 2010-07-28 23:39:44

+0

嘿,我聲稱紅寶石鏽:)修復它... – 2010-07-29 16:38:40

3
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的參數是總長度所需的輸出字符串(包括填充)。

+0

基於文檔,你不需要第二個參數居中,但我沒有測試,所以它可能是錯誤的:) – 2010-07-28 22:09:51

+0

@盧卡斯第二個參數(如果存在)是一個用作填充字符的字符串。如果省略,則使用空格。我認爲這是Ruby 1.8的一個補充,並且該鏈接可能引用版本1.6。 – bta 2010-07-28 22:17:38

+0

沒錯。我應該說你不需要它來滿足他的要求,因爲基於他的問題,他想要追加空間。 – 2010-07-28 22:35:08

4

我的意思是,有沒有理由不能這樣做?

padded_string = ' ' + random_string + ' ' 
5

我覺得這是最優雅的解決方案:

padded_string = " #{random_string} "

沒有錯,採取討巧。

+0

這是最乾淨的解決方案。 – 2012-06-16 19:21:04

1

「Random_string」 .ljust( 「Random_string」。長度+ 4).rjust( 「Random_string」。長度+ 8)
或 「Random_string」 .ljust(17).rjust(21)#,其中「Random_string使用.ljust法.rjust方法

+0

換句話說,只是.ljust加上.rjust方法一起 – 2016-11-23 22:50:41

相關問題