删除Ruby中文件路径的一部分



我正在接收一个数组作为变量

是一个示例

["/a/b/01_Sources/02_Transferred/06_CPAS/Redbull/from_MediaHouse/Transcripts/MI201711200143.xlsx", "/a/b/01_Sources/02_Transferred/06_CPAS/Redbull/from_MediaHouse/Transcripts/MI201703030110.pdf"]

以下语句创建此列表:

<%= var(file_list_array).map{|file| "<li>#{File.basename(file)}</li>"}.join("n")%>

  • mi201711200143.xlsx
  • MI201703030110.pdf
  • 以下语句创建此列表

    <%= var(file_list_array).map{|file| "<li>#{file}</li>"}.join("n")%>
    
    在在

    ,但是我真正想要的:

  • /redbull/from_mediahouse/transcripts/mi201711200143.xlsx
  • /redbull/from_mediahouse/transcripts/mi201703030110.pdf
  • 我需要更改什么才能得到?

    假设您在可以做的数组中有文件路径数组。

    file_paths.map{|path| path.gsub(/.*(/Redbull/.*)/, $1) }
    

    这将用" Redbull"目录下方的任何内容替换每个项目

    另外
    <%= var(file_list_array).map{|file| "<li>#{file.gsub(/.*(/Redbull/.*)/, $1)}</li>"}.join("n")%>
    

    尝试此

    file_list_array[0].split("06_CPAS")[1]
    

    假设您想从"06_CPAS"分开。您可以像这样的变量将其传递给它

    split_str = "06_CPAS"
    index = 0
    file_list_array[index].split(split_str)[1]
    

    最新更新