假设我有这个 Matlab 或 Octave char 变量:
>> filename = 'my.file.ext'
我想要一个 regexprep 命令,在文件名扩展名之前添加一个后缀,例如“_old”,将其转换为“my.file_old.ext”。
以下内容将所有点替换为“_old”。:
>> regexprep(filename, '\.', '_old.')
ans =
'my_old.file_old.ext'
仅在最后一个点前面添加“_old”的 regexprep 命令是什么? (理想情况下,如果没有点(无扩展名),请在最后附加“_old”。)
提前谢谢您!
最佳答案
如果可以选择不使用正则表达式,则可以使用 fileparts
如下:
filename = 'my.file.ext';
suffix = '_old';
[p, n, e] = fileparts(filename); % path, file, extension; each possibly empty
result = [p, n, suffix, e];
Example Octave 。
关于regex - 如何使用Matlab/Octave regexprep(正则表达式替换)在文件名扩展名前添加后缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63320927/