gpt4 book ai didi

ruby-on-rails - 在 Ruby on Rails 中获取项目中的文件名

转载 作者:太空宇宙 更新时间:2023-11-03 16:28:28 26 4
gpt4 key购买 nike

我需要使用 Ruby 从我的项目中提取一个文件名,并从中提取第一个单词。我已经尝试使用在此站点上找到的解决方案进行尝试,但没有成功:

File.basename("/path/to/folder/here_is_my_file.rb").match(/[^_]+/)

这会按预期返回 =>“此处”。

然而,我需要的是在不知道它应该是什么的情况下获取“此处”,因为文件名的第一部分是动态生成的。因此我需要找到一种动态提取它的方法。

如何实现?

最佳答案

您需要的是在路径中找到与模式 *_file.rb 匹配的文件。
为此,请使用 Dir 中的 globbing Ruby 中的类。

matched_files = Dir['/path/to/folder/*_file.rb']
#=> ['/path/to/folder/main_file.rb', '/path/to/folder/sub_file.rb', '/path/to/folder/foo_file.rb']

现在,您可以通过遍历这些文件来提取基本名称:

base_files = matched_files.map { |file| File.basename(file) }
#=> ['main_file.rb', 'sub_file.rb', 'foo_file.rb']

另外,如果你只是想从中提取ma​​insubfoo,你可以匹配模式来做到这一点:

base_files.map { |file| file.match(/(.*)_file.rb/)[1] }
#=> ['main', 'sub', 'foo']

通过收集文件名,您可以根据条件检查这些名称以执行该文件的任何内容。

祝你好运。

关于ruby-on-rails - 在 Ruby on Rails 中获取项目中的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20166352/

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