matlab regexprep:替换多个实例,但在第一次替换后停止

matlab regexprep:替换多个实例,但在第一次替换后停止,regex,matlab,Regex,Matlab,如何从中实现:regexprep'asdf',{'a','aa'},{'aa','bb'}输出aasdf?我想运行regexprep,但在第一场比赛后停止。参数“once”无效。上面这行的输出是bbsdf您可以尝试按相反的顺序进行替换,例如 regexprep('asdf',{'aa','bb'},{'a','aa'}) 在这种情况下,aa替换将失败,因为aa不会出现在原始输入字符串中。这里当然是一种解决方法,但一般来说,这是预期的行为,请参阅doc:regexprep将第一个表达式应用于st

如何从中实现:regexprep'asdf',{'a','aa'},{'aa','bb'}输出aasdf?我想运行regexprep,但在第一场比赛后停止。参数“once”无效。上面这行的输出是bbsdf

您可以尝试按相反的顺序进行替换,例如

regexprep('asdf',{'aa','bb'},{'a','aa'})

在这种情况下,aa替换将失败,因为aa不会出现在原始输入字符串中。

这里当然是一种解决方法,但一般来说,这是预期的行为,请参阅doc:regexprep将第一个表达式应用于str,然后将每个后续表达式应用于前面的结果。once选项仅适用于匹配的第一次出现,例如test regexprep'asdfa'、{'a'、'aa'}、{'aa'、'bb'}、'once',以查看不同的功能。@HansHirse我知道这是有意的,我已经编写了我测试过once参数,它不起作用。。。问题是,我如何通过使用正则表达式来实现这一点?嗯,我需要修改这个例子,这个变通方法对我不适用