我在 Ruby 中有这个功能
def translate word
vowels=["a","e","I","O","U"]
i=1.to_i
sentense=word.split(" ").to_a
puts sentense if sentense.length >=1
sentense.split("")
puts sentense
end
我有这个短语“这是一个测试短语”,起初我想创建一个如下所示的数组:
["this","is","a", "test", "phrase"]
然后我想创建另一个数组,它看起来像:
[["t","h","i","s"],["i","s"],["a"],["t","e","s","t"],["p","h","r","a","s","e"]
。
我试过了
sentense=word.split(" ").to_a
new_array=sentense.split("").to_a
但是没有成功
最佳答案
你可以使用 String#split
, Enumerable#map
和 String#chars
:
p "this is a test phrase".split.map(&:chars)
# => [["t", "h", "i", "s"], ["i", "s"], ["a"], ["t", "e", "s", "t"], ["p", "h", "r", "a", "s", "e"]]
string.split(' ')
可以写成 string.split
,因此您可以省略括号中的空格。
这也为您提供了一个数组,无需使用 to_a
,您将拥有一个类似 ["this", "is", "a", "test ", "phrase"]
,因此您可以使用 map 获取新数组,并通过使用 .split('')
或 获取其字符数组中的每个元素.chars
.
关于ruby - 如何拆分已经拆分的数组 ruby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46325490/