gpt4 book ai didi

ruby - 如何将文本拆分为键值对?

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

我正在构建一个脚本来读取和解析 Ruby 中的 Markdown 文件。该脚本需要能够读取和理解文件顶部的 multimarkdown header 信息,以便它可以对输出执行其他操作。

header 值如下所示:

Title: My Treatise on Kumquats
Author: Joe Schmoe
Author URL: http://somedudeswebsite.me/
Host URL: http://googlesnewthing.com/
Created: 2012-01-01 09:41

我不知道如何将文本行拆分为一个简单的键值字典。内置的拆分函数在这种情况下似乎不起作用,因为我只希望它在每行中第一次出现冒号 (:) 时拆分。额外的冒号将成为值字符串的一部分。

以防万一,我在 OS X 上使用 Ruby 1.8.7。

最佳答案

这样做:

s = <<EOS
Title: My Treatise on Kumquats
Author: Joe Schmoe
Author URL: http://somedudeswebsite.me/
Host URL: http://googlesnewthing.com/
Created: 2012-01-01 09:41
EOS

h = Hash[s.each_line.map { |l| l.chomp.split(': ', 2) }]
p h

输出:

{"Title"=>"My Treatise on Kumquats", "Author"=>"Joe Schmoe", "Author URL"=>"http://somedudeswebsite.me/", "Host URL"=>"http://googlesnewthing.com/", "Created"=>"2012-01-01 09:41"}

关于ruby - 如何将文本拆分为键值对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8907081/

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