gpt4 book ai didi

ruby - 从文件读入数组并在 ruby​​ 中找到 ":"时停止

转载 作者:数据小太阳 更新时间:2023-10-29 07:22:16 25 4
gpt4 key购买 nike

我如何在 Ruby 中将文件中的字符串读取到数组中,并且只读取并保存在数组中,直到我得到某个标记(例如“:”)并停止读取?

任何帮助将不胜感激 =)

例如:

10.199.198.10:111  test/testing/testing  (EST-08532522)
10.199.198.12:111 test/testing/testing (EST-08532522)
10.199.198.13:111 test/testing/testing (EST-08532522)

应该只读取以下内容并包含在数组中:

10.199.198.10
10.199.198.12
10.199.198.13

最佳答案

这是一个相当微不足道的问题,使用 String#split :

results = open('a.txt').map { |line| line.split(':')[0] }

p results

输出:

["10.199.198.10", "10.199.198.12", "10.199.198.13"]

String#split 在指定的分隔符处打断一个字符串并返回一个数组;所以 line.split(':')[0] 获取生成的数组的第一个元素。

如果某行中没有 :String#split 将返回一个数组,其中只有一个元素是整行。所以如果你需要做更多的错误检查,你可以这样写:

results = []

open('a.txt').each do |line|
results << line.split(':')[0] if line.include? ':'
end

p results

如果行中有 : 字符,它只会将拆分行添加到结果数组。

关于ruby - 从文件读入数组并在 ruby​​ 中找到 ":"时停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2697968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com