< p > < em > 注意:我猜测您的变量< code > name 是一个字符串的单元数组,在这种情况下,您将需要使用< code > {} (即
< em > content 索引)而不是< code >() (即
< em > cell 索引)来从中获取字符串...
与MATLAB中的许多问题一样,您可以通过多种不同的方式解决此问题...
选项1:您可以使用函数REGEXPREP。以下内容删除连字符、正斜杠和空格:
newName = regexprep(name{i},'[-/\s]','');
这里的好处是
\s
将匹配并替换
所有空白字符,包括普通的空格(ASCII代码32)以及制表符、换行符等。
如果您想安全地删除
每个在
MATLAB变量/字段名称中无效的字符,可以将上述简化为:
newName = regexprep(name{i},'\W','');
选项2:如果您只需要担心删除您列出的3个字符之外的任何内容,您可以使用ISMEMBER函数,如下所示:
newName = name{i};
newName(ismember(newName,'-/ ')) = [];
选项3:如果您只想保留所有字母数字字符并丢弃其他字符(连字符、空格、下划线等),您可以使用ISSTRPROP函数:
newName = name{i};
newName = newName(isstrprop(newName,'alphanum'));