gpt4 book ai didi

ruby - 如何将数组中的字符串一分为二?

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

我目前有一个单列 CSV 文件,例如:["firstname lastname", "firstname lastname", ...]

我想创建一个 CSV 文件,例如 ["f.lastname", "f.lastname"...]; f 是名字的第一个字母。

知道我应该怎么做吗?

更新

好的,我觉得我很接近你们,这是我到目前为止所得到的:

  require 'csv'
filename = CSV.read("mails.csv")
mails = []
CSV.foreach(filename) do |col|
mails << filename.map { |n| n.sub(/\A(\w)\w* (\w+)\z/, '\1. \2') }
end
puts mails.to_s

但我仍然得到一个错误。

更新2

好的,这很好用:

require 'csv'
mails = []
CSV.foreach('mails.csv', :headers => false) do |row|
mails << row.map(&:split).map{|f,l| "#{f[0]}.#{l}@mail.com" }
end
File.open("mails_final.csv", 'w') {|f| f.puts mails }
puts mails.to_s

非常感谢你们所有人;)

最佳答案

不使用正则表达式的解决方案:

ary = ["firstname lastname", "firstname lastname"]
ary.map(&:split).map{|f, l| "#{f[0]}. #{l}" }
#=> ["f. lastname", "f. lastname"]

关于ruby - 如何将数组中的字符串一分为二?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23152328/

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