如何在 Matlab 中查找和替换字符串
How to find and replace a string in Matlab
所以这是我的问题:
我在元胞数组中有一个 Matlab 中的姓名列表。
我自动为每个名字创建目录和 .mat 文件。
我的问题是其中一些名称包含“/”,因此在我创建目录时一切都出错了……
所以我想找到一种有效的方法来查找“/”并替换它们。
到目前为止,我已经尝试使用 findstr 函数找到它们。然后它给了我一个单元格数组,其中包含出现“/”的索引。因此,当名称不包含任何“/”时,它会 returns {[]} 并且当函数找到它时,它会 returns {[i]}。
现在我想要一个逻辑条件,说明如果 findstr 不为空则执行某些操作。我试过 isempty 函数,但它不起作用(它永远不会为空……)
那么有人对此有解决方案吗?
谢谢
使用regexprep
替换字符:
list = {'aaa', 'bb/cc', '/dd/'};
replace_from = '/'; %// character to be replaced
replace_to = '_'; %// replacing character
list_replaced = regexprep(list, replace_from, replace_to);
给予
list_replaced =
'aaa' 'bb_cc' '_dd_'
所以这是我的问题:
我在元胞数组中有一个 Matlab 中的姓名列表。
我自动为每个名字创建目录和 .mat 文件。
我的问题是其中一些名称包含“/”,因此在我创建目录时一切都出错了……
所以我想找到一种有效的方法来查找“/”并替换它们。
到目前为止,我已经尝试使用 findstr 函数找到它们。然后它给了我一个单元格数组,其中包含出现“/”的索引。因此,当名称不包含任何“/”时,它会 returns {[]} 并且当函数找到它时,它会 returns {[i]}。 现在我想要一个逻辑条件,说明如果 findstr 不为空则执行某些操作。我试过 isempty 函数,但它不起作用(它永远不会为空……)
那么有人对此有解决方案吗?
谢谢
使用regexprep
替换字符:
list = {'aaa', 'bb/cc', '/dd/'};
replace_from = '/'; %// character to be replaced
replace_to = '_'; %// replacing character
list_replaced = regexprep(list, replace_from, replace_to);
给予
list_replaced =
'aaa' 'bb_cc' '_dd_'