我在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/