0

好的,我正在试一试。有大量的 SO 问题可以回答我的问题,但没有一个可以解决我的问题。

我正在创建一个 rake 任务来解析 RoR 中的平面文本文件。该文件有一个标题,但除了空格之外没有任何分隔符。所以我打算使用空格作为分隔符,但它不起作用。这是文本文件的示例:

姓名 生日 比尔 12/25/86 约翰·史密斯 1/1/87

如果我使用 ' ' 作为分隔符,我会得到第一个条目的正确结果,但不是第二个,因为日期之前有 2 个字符串,而不仅仅是一个。这是我一直在尝试的方法:

File.open(file, "r").each do |line|
  name, birthdate = line.strip.split("")
  user = User.new(user_name: name, birth_date: birthdate)
  user.save
end

我不知道如何处理第一个“字段”可能是也可能不是一个词的事实。最终我宁愿要求 csv 然后我的问题就不存在了。

提前致谢。

4

1 回答 1

0

如果可能的话,您可能想更改格式,但是使用您的两个示例,您可以执行以下操作

components = line.split(' ')
date = components.pop
name = components.join(' ')
于 2013-02-14T00:01:27.420 回答