我有一个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