regex - 删除单行中的固定文件扩展名
问题描述
当我做
ruby -e 'print "file: #{ARGF.filename}"' test1.adoc
它打印test1.adoc
,但我正在寻找的是删除扩展名,所以我只是得到test1
. 如果这样做
$ touch test1.adoc
$ ruby -e 'print "file: #{ARGF.filename}.sub('.adoc','')"' test1.adoc
Traceback (most recent call last):
1: from -e:1:in `<main>'
-e:1:in `filename': No such file or directory @ rb_sysopen - test1.adoc (Errno::ENOENT)
使用pop
很容易获得一个通用的解决方案,但是沿着这条路走下去会更难......
问题
任何人都可以弄清楚如何.adoc
在我的单衬里移除吗?
解决方案
用于File.basename
删除扩展名和文件路径的其余部分。
puts File.basename('test1.adoc', '.*') # test1
puts File.basename('/foo/bar/test1.adoc', '.*') # test1
推荐阅读
- count - 计算合并的观测值并计算分数
- c# - 在调用 DbContext.SaveChanges() 时立即接收保存的项目
- docker - 挂载错误(13):权限被拒绝 - 在 docker/kubernetes
- python - 如何在python中将数据模拟为request.Response类型
- shell - 如果在执行“sed -i --”时出错会发生什么情况,这是文件的更改
- highcharts - HighCharts navigator: how to disable the expand width icon on hover
- python - ggplot 到 R - 数据框 R
- file - 当 Folder.Files 返回不存在的文件夹时处理
- perl - 从 ip 命令获取 inet 的 Perl 脚本
- angular - *ngFor 停止在 IE 11 / Angular 4 上工作