解析开机自检中的制表符分隔文本



我有一个 API 向我发送字段值中的制表符分隔信息

我需要将其解析为单独的字段:

发布:

"nuserNametpasswordtfNametlNametuserPhonetcompNametcontNametaddr1taddr2tcitytstatetpostalCodetcountrytphonetfaxtemailtbusnTypetDOTNumbertMCNumberntesttabc123tTesttNamet(555) 555-5555ttttttt58638tUSt(555) 555-5555t(555) 555-5555ttTestt12345678tMC000000n"

字段应匹配的内容:

  userName        password        fName   lName   userPhone       compName        contName        addr1   addr2   city    state   postalCode      country phone   fax     email   busnType        DOTNumber       MCNumber
  test    abc123  Test    Name    (555) 555-5555                                                  58638   US      (555) 555-5555  (555) 555-5555          Test    12345678        MC000000

不确定我是否必须将其写入csv文件然后读取它,或者我是否可以按原样阅读。 或者如何去做。

最简单的方法是使用 Ruby 的 CSV 标准库:

require 'csv'
s = "nuserNametpasswordtfNametlNametuserPhonetcompNametcontNametaddr1taddr2tcitytstatetpostalCodetcountrytphonetfaxtemailtbusnTypetDOTNumbertMCNumberntesttabc123tTesttNamet(555) 555-5555ttttttt58638tUSt(555) 555-5555t(555) 555-5555ttTestt12345678tMC000000n"
csv = CSV.new(s, col_sep: "t")
csv.each do |row|
  puts row.inspect
end

输出为:

[]
["userName", "password", "fName", "lName", "userPhone", "compName", "contName", "addr1", "addr2", "city", "state", "postalCode", "country", "phone", "fax", "email", "busnType", "DOTNumber", "MCNumber"]
["test", "abc123", "Test", "Name", "(555) 555-5555", nil, nil, nil, nil, nil, nil, "58638", "US", "(555) 555-5555", "(555) 555-5555", nil, "Test", "12345678", "MC000000"]

最新更新