从文本文件中的一些字符串创建数组 - Ruby
Posted
技术标签:
【中文标题】从文本文件中的一些字符串创建数组 - Ruby【英文标题】:Create array from some string from text file - Ruby 【发布时间】:2021-12-18 17:50:36 【问题描述】:我正在尝试从文本文件中的字符串创建数组。
例如在 txt 文件中我有字符串。
"ABC;DEF;GHI"
我想创建如下所示的数组:
["ABC","DEF","GHI"]
我已经尝试过以下使用方法:
File.open(file.txt).map |line| line.split(/;/)
但上述方法的输出是:
[["ABC","DEF","GHI"]]
你可能注意到这是一个数组中的一个数组。
我该怎么办?
【问题讨论】:
你应该flatten
它。 apidock.com/ruby/Enumerable/flat_map
谢谢我试过了,它有效!
【参考方案1】:
使用flat_map
代替map
代码
File.open(file.txt).flat_map |line| line.split(/;/)
【讨论】:
谢谢它的工作:D 我知道,但我不能早点接受,因为最早可以在提问后 10 分钟接受答案 啊,好的。我以为你可能不知道,对不起!【参考方案2】:可以使用 String.prototype.split() 方法
"ABC;DEF;GHI".split(';')
=> ['ABC', 'DEF', 'GHI']
【讨论】:
仔细阅读问题。他已经正确吐了。他的问题是内部数组。 另外,Ruby 是一种基于类的 OO 语言,而不是基于原型的 OO 语言,所以 Ruby 中没有原型这种东西。 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。以上是关于从文本文件中的一些字符串创建数组 - Ruby的主要内容,如果未能解决你的问题,请参考以下文章
Ruby操作MongoDB(进阶十)--文本搜索text search