ruby - 拆分字符串(字符串包含正则表达式)
问题描述
我想从给定路径中拆分最后一个字符串,该字符串包含一些数字,如 1.625.235,但这个数字每次都不同。不管最后一个字符串应该被分割的数字是多少。
前任:
string = "C:/chef/cache/Dynatrace-OneAgent-Windows-1.625.235.msi"
output: Dynatrace-OneAgent-Windows-1.625.235.msi
string = "C:/chef/cache/Dynatrace-OneAgent-Windows-1.181.539.msi"
output: Dynatrace-OneAgent-Windows-1.181.539.msi
这是我们尝试过的
- ("C:/chef/cache/Dynatrace-OneAgent-Windows-/\d.\d+.\d+/.msi").split('/')[3]
- ("C:/chef/cache/Dynatrace-OneAgent-Windows-'/\d.\d+.\d+/'.msi").split('/')[3]
- ("C:/chef/cache/Dynatrace-OneAgent-Windows-'\d.\d+.\d+'.msi").split('/')[3]
- ("C:/chef/cache/Dynatrace-OneAgent-Windows-'(\d.\d+.\d+').msi").split('/')[3]
- ("C:/chef/cache/Dynatrace-OneAgent-Windows-('/\d.\d+.\d+/').msi").split('/')[3]
- ("C:/chef/cache/Dynatrace-OneAgent-Windows-('\d.\d+.\d+').msi").split('/')[3]
解决方案
如果您想要的输出始终是路径末尾的文件名,您也可以使用File.basename
.
string = "C:/chef/cache/Dynatrace-OneAgent-Windows-1.625.235.msi"
output = File.basename(string) # => "Dynatrace-OneAgent-Windows-1.625.235.msi"
推荐阅读
- reactjs - index.js:1 警告:上下文消费者使用多个孩子呈现
- git - 为构建机器运行的 Git 命令以使存储库尽可能无故障
- reactjs - React 功能组件状态总是记录初始值
- json - 如何解组不同类型的流
- r - 用多行更改ggplot上的刻度线
- excel - VLOOKUP 多个值
- angular - 存储与随时随地提出请求
- docker - 如何从 Windows 10 连接 Docker-Linux 上的 docker-compose Sql 服务器容器?
- c# - ASP.NET MVC 5 在重定向时丢弃尾随句点
- wordpress - 如何在 WordPress PayPal 插件中的 WordPress PayPal 结账时添加额外的查询字符串变量