ruby - 如何拆分已经拆分的数组 ruby

标签 ruby

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

相关文章:

Ruby:如何检查变量是否存在于哈希定义中

ruby-on-rails - Ruby on Rails - 在 Windows 上安装后无法识别捆绑命令

ruby - 使用macruby和Objective-C时的内存管理

ruby - 为什么实例变量在 Sinatra 中的路由之间不存在?

ruby - 向命名空间中的字符串添加方法

ruby - 在 ruby​​ 中按时间查找最近的记录

ruby - 如何使用正则表达式在文本之间插入文本?

ruby - 我如何比较 Ruby 中的类?

ruby - 如何让 Ruby 从 YAML 文件中检索特定数据?

ruby-on-rails - 这个 ruby​​ 函数在做什么