繁体   English   中英

如何在MATLAB中替换标志之间的字符

[英]How to replace characters between flags in MATLAB

假设我在Matlab中有一个char变量,如下所示:

x = 'hello my name $ is Sean $ Daley.';

我想用符号'&'替换第一个'$',用符号'#'替换第二'$'。

此外,如果我有一个更复杂的char,使得'$'对重复多次,我想重复相同的模式。 所以以下内容:

y = 'hello $ my $ name is $ Sean $ Daley $.$.';

将转变为:

'hello & my # name is & Sean # Daley &.#.'

我已经尝试通过for循环和while循环手动编码,但代码是如此丑陋。 我可以使用任何简单的功能吗?

由于您正在处理单个字符和非嵌套的标志对,因此您可以通过简单的find和一些索引替换来轻松完成此操作:

y = 'hello $ my $ name is $ Sean $ Daley $.$.';
index = find(y == '$');
y(index(1:2:end)) = '&';
y(index(2:2:end)) = '#';

结果如下:

y =

    'hello & my # name is & Sean # Daley &.#.'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM