当前位置:  开发笔记 > 后端 > 正文

Ruby解析字符串和返回数组

如何解决《Ruby解析字符串和返回数组》经验,为你挑选了1个好方法。

我有输入字符串 str ="/Users/user/Desktop/task/U6342_Account_20150112.txt"

作为回报,我想要数组 ['U6342','Account','20150112']

为了得到我做的结果

str.split('/')[-1].gsub('.txt','').split('_')

哪个输出 ['U6342','Account','20150112']

现在我的问题 - 有没有更好的解决方案?



1> casraf..:

Ruby有类似案例的内置File类.

fname = File.basename(str, '.*') # "U6342_Account_20150112"
fname.split('_') # ["U6342", "Account", "20150112"]

或者,简而言之:

File.basename(str, '.*').split('_')

编辑:第二个参数basename告诉函数文件后缀是什么.它支持*通配符匹配任何后缀,然后将其从结果中删除.例子:

File.basename(str, '.*') # "U6342_Account_20150112"
File.basename(str, '.txt') # "U6342_Account_20150112"
File.basename(str, '.jpg') # "U6342_Account_20150112.txt" => suffix not removed

在这里阅读更多http://ruby-doc.org/core-2.2.0/File.html#method-c-basename

推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有