Ruby:有没有办法只使用前x个密码来分割字符串?

zxc*_*bnm 2 ruby string

例如,假设我有这个:

001, "john doe", "male", 37, "programmer", "likes dogs, women, and is lazy"

问题是该行只应该有6个字段.但是,如果我将它与split分开,我会得到更多,因为逗号被不正确地用于分隔字段.

现在我正在拆分所有东西,然后当我到达第5个索引时,我连接所有的字符串.但我想知道是否存在分裂(",",6)或沿着这些方向的东西.

Jes*_*kan 7

Ruby 在标准库中有一个CSV模块.它会做你真正需要的(在双引号中忽略逗号).

require 'CSV.rb'
CSV::Reader.parse("\"cake, pie\", bacon") do |row| p row; end
Run Code Online (Sandbox Code Playgroud)

结果:

["cake, pie", " bacon"]
=> nil
Run Code Online (Sandbox Code Playgroud)

如果你像我一样昏暗并且到处都是空白,你可能想要删除结果.