从文本文件中的一些字符串创建数组 - 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的主要内容,如果未能解决你的问题,请参考以下文章

Qt Ruby:动态创建表并从文本文件输入数据

Ruby操作MongoDB(进阶十)--文本搜索text search

从数组中删除仅大小写不同的字符串值(Ruby)

如何根据位置将一些值写入ruby中的文本文件

从文本文件中读取单词并存储到 C 中的动态数组 Valgrind 错误中

如何从文本文件创建二维数组并在 c 中打印到新文件