首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ruby on rails替换了一些字符串

ruby on rails替换了一些字符串
EN

Stack Overflow用户
提问于 2013-03-18 14:55:38
回答 2查看 165关注 0票数 0

我有两根弦。一个是:

"/system/musics/videos/000/000/001/original/%E5%B9%BF%E5%9C%BA%E8%88%9E%E5%BF%AB%E5%9B%9B_-_%E5%A4%A7%E8%8D%89%E5%8E%9F-%E4%BE%AF%E6%AD%8C.MP3"

第二个是:

代码语言:javascript
复制
"广场舞快四_-_大草原-侯歌.MP3"

我想要得到:

代码语言:javascript
复制
"/system/musics/videos/000/000/001/original/广场舞快四_-_大草原-侯歌.MP3"

有谁知道如何查找和替换ruby中的字符串吗?我的想法是用第二个字符串替换最后一个'/'之后的内容。我该怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-18 16:26:56

在处理文件名时,特别是如果您的代码可能会在多个操作系统上使用,请使用内置的文件名操作方法dirnamejoin

代码语言:javascript
复制
File.join(
  File.dirname(
    "/system/musics/videos/000/000/001/original/%E5%B9%BF%E5%9C%BA%E8%88%9E%E5%BF%AB%E5%9B%9B_-_%E5%A4%A7%E8%8D%89%E5%8E%9F-%E4%BE%AF%E6%AD%8C.MP3"
  ),
  "广场舞快四_-_大草原-侯歌.MP3"
)

原因是,File.joinFile.dirname能够识别特定操作系统上使用的文件名分隔符,这得益于File::SEPARATORFile::ALT_SEPARATOR,这使得它们能够正确地拆分和连接路径。

您还会经常发现File.basenameFile.extname也很有用。

票数 0
EN

Stack Overflow用户

发布于 2013-03-18 14:58:44

代码语言:javascript
复制
first_string = "/system/musics/videos/000/000/001/original/%E5%B9%BF%E5%9C%BA%E8%88%9E%E5%BF%AB%E5%9B%9B_-%E5%A4%A7%E8%8D%89%E5%8E%9F-%E4%BE%AF%E6%AD%8C.MP3"
second_string = "广场舞快四-_大草原-侯歌.MP3"

"#{File.dirname(first_string)}/#{second_string}"
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15471215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档