regex - 如何使用Matlab/Octave regexprep(正则表达式替换)在文件名扩展名前添加后缀

标签 regex matlab octave filenames suffix

假设我有这个 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/

相关文章:

regex - 字符串替换、正则表达式

jquery - 仅在小数点逗号前添加千位分隔符

php - 需要重新格式化 PHP Formmail 脚本中的电话号码条目

regex - 查找字符串中最短的重复模式

octave - Octave中是否可以使用反馈功能

matlab - 构造由基矩阵的不同幂组成的 block 矩阵

asp.net - xVal 和正则表达式匹配

python - MATLAB 无法调用带有导入的 Python 模块

algorithm - 梯度下降算法在matlab中给出错误答案

matlab - 为 sublime 设置默认语法不起作用