2013-02-26 96 views
2

应该怎么去拿一个列表,如 ["1","2","3"] 并将它变成一个字符串,如 "123"如何在Ruby中将字符串列表转换为一个字符串?

+0

你应该接受马修的答案。他首先回答。其余的基本上是一样的。 – Mischa 2013-02-26 14:45:58

+0

@米沙:马修不是第一个(事实检查),但他应该被接受。 – Linuxios 2013-02-26 14:53:17

+0

@Linuxios - 他*是第一个:2013-02-26 14:31:47。你回答了2013-02-26 14:32:03。 – Mischa 2013-02-26 14:55:21

回答

1

试试这个:

list.join() 

如果你想用逗号分隔的数字,还是别的什么,用途:

list.join(',') 
8

您可以使用join

["1","2","3"].join 
+0

令人惊讶的是三个相同的答案是如何发挥出来的。但+1包含链接到文档! (和好的一对第一个答案!欢迎来到SO!) – Linuxios 2013-02-26 14:51:29

+0

@Linuxios,所有的答案基本相同。马修是第一个,所以他应该得到赞扬,他的答案应该被接受为国际海事组织。其余的可能会被删除。 – Mischa 2013-02-26 14:53:29

+0

@Mischa:未删除。我先回答了几秒钟。虽然他仍然值得接受。 – Linuxios 2013-02-26 14:53:52

-1

["1","2","3"].to_s会将数组转换为字符串。谷歌“红宝石阵列”更多阵列功能。其他常见的类是字符串,哈希,对象等。谷歌搜索和阅读文档将帮助你很快回答这样的问题。

+0

'.to_s'不能给出想要的结果。 – Mischa 2013-02-26 14:34:45

+0

啊,根据文档,这个函数已经被更改为在以后的版本中进行检测的别名,这与我在使用的版本中的不同。 ''##{[“1”,“2”,“3”]}“'应该有正确的效果,'.join',正如其他几个人所建议的,也可以。 – 2013-02-26 14:38:36

+1

不,这也没有正确的效果。两者都会产生'“[\”1 \“,\”2 \“,\”3 \“]”'。唯一正确的答案是'.join'。 – Mischa 2013-02-26 14:42:06

1

只需使用一个简单连接:["1","2","3"].join

结果:"123"

2

只是为了好玩,大多数人不知道,我们也可以这样做:

%w[1 2 3] * '' 
=> "123" 

%w[1 2 3] * ',' 
=> "1,2,3" 

它更习惯使用join但偶尔使用*是有帮助的。

*也被用来重复字符串:

def output_header(str) 
    puts str, '-' * str.length 
end 

output_header('Output: some string being output') 
output_header('Output: some other string being output') 

,输出:

 
Output: some string being output 
-------------------------------- 
Output: some other string being output 
--------------------------------------