ruby - 使用 Ruby 进行文件操作

标签 ruby regex parsing

我正在使用 Ruby 为我的团队编写命令行开发实用程序。

我正在尝试检查文件系统上的 HTML 文档并添加新的 <script> </head> 之前的标签

类似于:

<html>
  <head>
    <script src="...foo.js"></script>
    <script src="...bar.js"></script>
    <!-- I WANT TO INSERT NEW TEXT HERE -->
  </head>
  <body>
  </body>
</html>

我正在考虑从 IO.readlines(file_name) 开始,将每一行与正则表达式进行比较,并在 </head> 之前插入我的新标签.然后,将整个数组合并回文件的新版本。

这听起来太复杂了。谁有更好的方法?

如果有合适的缩进级别,就可以加分了。

最佳答案

HTML 和正则表达式(通常)不是一个好主意。

如果您想使用 Ruby 以干净的方式解析和修改 HTML,我建议您使用 Nokogiri。

http://nokogiri.org/

http://nokogiri.org/tutorials

关于ruby - 使用 Ruby 进行文件操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9970996/

相关文章:

ruby - 使用 ruby​​ 在路径中的文件中搜索文本

ruby - 使用 ruby​​ 的特定 dom 元素的屏幕截图

ruby - 使用超时 fork 子进程并捕获输出

javascript - JavaScript 的 XML 解析器

parsing - Powershell:引用解析的不一致/奇怪行为?

ruby-on-rails - Rails 使用哈希数组查找记录

没有双字符且在字符串长度内的单词的正则表达式

java - 我想使用正则表达式将特定出现的字符串替换为另一个字符串

c# - 如何使用正则表达式替换匹配项,前提是它前面没有给定字符?

java - 我无法在 cmd 中生成 CUP 解析器和 JFlex 扫描器