面试题答案
一键面试以下是实现该功能的Ruby脚本:
Dir.glob('old_name_*.txt') do |file|
# 使用split方法以'_'为分隔符拆分文件名
parts = file.split('_')
# 提取数字部分
number = parts.last.gsub('.txt', '')
new_name = "new_name_#{number}.txt"
# 使用rename方法重命名文件
File.rename(file, new_name)
end
使用到的Ruby方法说明:
- Dir.glob:用于匹配指定模式的文件路径,这里匹配所有以
old_name_
开头,.txt
结尾的文件。 - split:字符串处理方法,将字符串按照指定的分隔符拆分成数组。
- last:数组方法,获取数组的最后一个元素。
- gsub:字符串处理方法,用于替换字符串中的指定内容,这里是去掉文件名中的
.txt
后缀。 - File.rename:文件操作方法,用于重命名文件。