如何在 MATLAB 中替换标志之间的字符组
How to replace groups of characters between flags in MATLAB
假设我在 Matlab 中有一个像这样的 char 变量:
x = 'hello ### my $ name is Sean Daley.';
我想用字符“&”替换第一个“###”,用字符“&&”替换第一个“$”。
请注意,我希望交换的字符组具有不同的长度[例如,length('###') 为 3 而 length('&') 为 1]。
此外,如果我有一个更复杂的字符,例如“###”和“$”对重复多次,我想实现相同的交换例程。所以如下:
y = 'hello ### my $ name is ### Sean $ Daley ###.$.';
将转化为:
'hello & my && name is & Sean && Daley &.&&.'
我已经尝试通过 for 循环和 while 循环手动对此(对于任意字符)进行编码,但该代码绝对是可怕的,并且不能推广到任意字符组长度。
我可以使用任何简单的函数来完成这项工作吗?
函数 strrep 就是您要找的。
y = replace(y,["###" "$"],["&" "&&"])
假设我在 Matlab 中有一个像这样的 char 变量:
x = 'hello ### my $ name is Sean Daley.';
我想用字符“&”替换第一个“###”,用字符“&&”替换第一个“$”。
请注意,我希望交换的字符组具有不同的长度[例如,length('###') 为 3 而 length('&') 为 1]。
此外,如果我有一个更复杂的字符,例如“###”和“$”对重复多次,我想实现相同的交换例程。所以如下:
y = 'hello ### my $ name is ### Sean $ Daley ###.$.';
将转化为:
'hello & my && name is & Sean && Daley &.&&.'
我已经尝试通过 for 循环和 while 循环手动对此(对于任意字符)进行编码,但该代码绝对是可怕的,并且不能推广到任意字符组长度。
我可以使用任何简单的函数来完成这项工作吗?
函数 strrep 就是您要找的。
y = replace(y,["###" "$"],["&" "&&"])