Ruby on Rails 字符串解析

发布于 2024-10-05 00:28:02 字数 430 浏览 5 评论 0原文

我有一个由一堆 XML 标签组成的字符串。

基本上,有一个标签的内容是我想要的,而忽略其他所有内容:

输入看起来像:

<Some><XML><stuff>
<title type='text'>key</title>
<Some><other><XML><stuff>

输出看起来像:

key

我不确定 XML 是否合适,因为这个特定的 XML 似乎没有太多结构。

正则表达式可以在 RoR 中做到这一点吗?或者它更像是 ruby​​ on Rails 中的模式匹配(true 或 false)?

非常感谢!

干杯, 紫姑

I have a string that is a bunch of XML tags.

Basically there is the contents to one tag I want and ignore everything else:

The input would look like:

<Some><XML><stuff>
<title type='text'>key</title>
<Some><other><XML><stuff>

The output would look like:

key

I'm not sure if XML is appropriate since there doesn't seem very much structure to this particular XML.

Can regex do this in RoR or is it more of just a pattern matching thing (true or false) in ruby on rails?

Thanks so much!

Cheers,
Zigu

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

哥,最终变帅啦 2024-10-12 00:28:02

。如果您的源不能是严格有效的XML,我强烈建议您使用Nokogiri

将源代码作为 HTML 文档处理,并以这种方式提取您需要的信息:

doc = Nokogiri::HTML("Your string with <key>some value</key>"))
doc.search('key').each do |value|
  puts value.content # do whatever you want
end

No. If your source could not be strictly valid XML, I strongly suggest you to use Nokogiri.

Handle the source as an HTML document and extract the info you need in this way:

doc = Nokogiri::HTML("Your string with <key>some value</key>"))
doc.search('key').each do |value|
  puts value.content # do whatever you want
end
奢望 2024-10-12 00:28:02

这就是为什么不使用正则表达式解析 xml 的原因: RegEx 匹配除 XHTML 自包含标签之外的开放标签

Here's why you don't parse xml with regexen: RegEx match open tags except XHTML self-contained tags

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文