我有一個Ruby自動生成的Narray,其格式如下:[x,y]
,其中x
和y
是整數。如何轉換數組輸出格式?
我想轉換成[x,y]
這種類型的字符串:
"p\.x\.y"
我還沒有成功地使用正則表達式轉換它。
我有一個Ruby自動生成的Narray,其格式如下:[x,y]
,其中x
和y
是整數。如何轉換數組輸出格式?
我想轉換成[x,y]
這種類型的字符串:
"p\.x\.y"
我還沒有成功地使用正則表達式轉換它。
正則表達式用於匹配模式,而不是生成字符串。
來完成你想要什麼,只要使用與sprintf
的圖示操作:
array = [1,2]
puts sprintf("p\\.%d\\.%d", *array)
這將輸出"p\.1\.2"
謝謝,最後很明顯,我沒有注意到我可以這樣做,我很確定我必須使用正則表達式,我錯了 – sidney
它更容易使用['String。%'](http:// www .ruby-doc.org/core-2.0.0/String.html#method-i-25):''p \。%d \。%d'%[1,2]#=>「p \\。 1 \\ 2「',它也輸出爲'p \ .1 \ .2'。不使用雙引號嵌入格式,而是強制使用雙引號反斜槓,請使用單引號。 –
替代方式:
x = [1,2]
puts "p\\.#{x[0]}\\.#{x[1]}" #=> p\.1\2
什麼是對....? –
p是一個固定的字母,無論發生什麼, – sidney
以'p'字符串開始,然後遍歷數組元素,將數組元素添加到您喜歡的任何裝飾中,例如'\'。 – kostja