我有一个很长的表达式,我需要用' * '
其中的逐个元素乘法符号替换所有乘法符号' .* '
。手工完成需要很长时间。有没有简单的方法来做到这一点?
谢谢
我想做两点。
我会用正则表达式进行替换。像regexprep('\.?*\*','.*')
这样会考虑到是否已经有一个.
。
做到这一点的方法。程序sed将是完美的。但是您也可以在 Matlab 中执行此操作 - 遍历所有文件并替换文本。
请记住,matlab 在重新散列文件之前不会知道更改。这意味着您不能立即使用替换的功能。
我想这Ctrl + H
就是你要找的。
要以编程方式执行此操作,您应该使用正则表达式替换:
>> str = 'x * y .* z';
>> regexprep(str, '\.?\*', '.*')
ans =
x .* y .* z
正则表达式的\.?\*
意思是“匹配所有由 0 或 1 个点 ( \.?
) 后跟乘号 ( \*
) 的字符串,即匹配字符串'.*'
and '*'
,并将它们都替换为'.*'
.