我有一个单元格name1(nx 1)
name1
a.mat b.mat c.mat ... z.mat
我想创建一个单元格name2,其中的所有.mat都已删除,因此我将使用以下内容
name2
a b c ... z
我可以用strsplit或fileparts创建一个循环并删除.mat,但这会非常麻烦。有人有捷径吗?提前感谢!
strsplit
fileparts
rqqzpn5f1#
自R2016b起,您可以使用erase
erase
name1New = erase( name1, '.mat' );
或者永远地
name1New = strrep( name1, '.mat', '' );
这两种方法都将删除单元格中.mat的所有示例,这对于文件名及其扩展名通常是很好的,但是如果出于某种原因需要将其严格限制为字符串 * 结尾 * 的.mat,则可以使用regexprep
.mat
regexprep
name1New = regexprep( name1, '\.mat$', '' );
示例:
name = {'blah.mat', 'foo.mat', 'bar.matTest.mat'}; erase(name,'.mat') ans = 1×3 cell array {'blah'} {'foo'} {'barTest'} regexprep( name, '\.mat$', '' ) ans = 1×3 cell array {'blah'} {'foo'} {'bar.matTest'}
1条答案
按热度按时间rqqzpn5f1#
自R2016b起,您可以使用
erase
或者永远地
这两种方法都将删除单元格中
.mat
的所有示例,这对于文件名及其扩展名通常是很好的,但是如果出于某种原因需要将其严格限制为字符串 * 结尾 * 的.mat
,则可以使用regexprep
示例: